381654Xなる数が7の倍数となるようなXの値を決定したい.
元の数の桁が非常に多い場合が下3桁を除去し残りから引くことで処理がずっと高速化される.
Q=an・10^(n-4)+an-1・10^(n-5)+・・・+a4-(a3・10^2+a2・10+a1)
P-1000Q=1001(a3・10^2+a2・10+a1)=7・11・13(a3・10^2+a2・10+a1)
Q=3・10^3+8・10^2+1・10+6-(5・10^2+4・10+X)
=3・10^3+3・10^2-3・10+(6-x)
3・10^3=-3 (mod7)
3・10^2=-1 (mod7)
-3・10=-2 (mod7)
したがって,
-3-1-2+(6-X)=-X=0 (mod7)
となる奇数Xということになり,X=7が求まる.
===================================