1 合同と剰余類
定義 1.1 (合同).mを正の整数とする。整数a,bについてm∣(a−b)が成り立つとき、aとbは法mについて合同 (congruence) であるといい、a≡b(modm)と書く。
命題 1.2.mを正の整数、a,bを整数とする。a≡b(modm)であるための必要十分条件は、aとbをmで割った余りが等しいことである。
証明.§A4.1 定理 2.1により、a=qm+r、b=q′m+s、0≤r,s<mと書く。a−b=(q−q′)m+(r−s)であるので、m∣(a−b)とm∣(r−s)は同値である。−m<r−s<mであるので、この範囲にあるmの倍数は0だけである。したがって、m∣(r−s)とr=sは同値である。▨
定義 1.3 (剰余類).mを正の整数、aを整数とする。aと法mについて合同な整数全体の集合[a]m={b∈Z∣b≡a(modm)}を、aの法mに関する剰余類 (residue class) という。aを剰余類[a]mの代表元 (representative) という。
命題 1.2により、合同関係の反射律・対称律・推移律は、余りの等号の対応する性質から従います。したがって、合同関係は同値関係です。また、各整数の余りは0,1,…,m−1のいずれか一つであるので、整数全体はm個の剰余類[0]m,[1]m,…,[m−1]mに分割されます。
2 合同式の和・差・積
命題 2.1.mを正の整数、a,a′,b,b′を整数とする。a≡a′(modm)、b≡b′(modm)ならば、
a+b≡a′+b′,a−b≡a′−b′,ab≡a′b′(modm)が成り立つ。
証明.(a+b)−(a′+b′)=(a−a′)+(b−b′)、(a−b)−(a′−b′)=(a−a′)−(b−b′)は、いずれもmの倍数である。また、ab−a′b′=a(b−b′)+b′(a−a′)もmの倍数である。▨
命題 2.1により、代表元を替えても、和・差・積の剰余類は変わりません。したがって、剰余類どうしの和・差・積は、代表元どうしで計算した結果の剰余類として定めることができます。
3 合同式の消去
例 3.1.2⋅3≡2⋅8(mod10)であるが、3≡8(mod10)である。したがって、合同式の両辺を同じ整数で割っても、合同関係が保たれるとは限らない。
命題 3.2.mを正の整数、cを整数とし、d=gcd(c,m)とおく。任意の整数a,bについて、
ca≡cb(modm)⟺a≡b(modm/d)が成り立つ。したがって、すべての整数a,bについて、ca≡cb(modm)からa≡b(modm)が従うための必要十分条件は、gcd(c,m)=1である。
証明.c=dc′、m=dm′と書く。§A4.3 補題 1.1により、cu+mv=dを満たす整数u,vを取ると、c′u+m′v=1である。m∣c(a−b)とm′∣c′(a−b)は同値である。m′∣c′(a−b)ならば、
a−b=uc′(a−b)+vm′(a−b)よりm′∣(a−b)である。逆に、m′∣(a−b)ならばm′∣c′(a−b)である。よって最初の同値が成り立つ。
d=1ならばm′=mなので、法を変えずにcを消去することができる。d>1ならばa=m/d、b=0とおく。ca=m(c/d)はmの倍数であるが、0<a<mなのでaはmの倍数ではない。したがって、すべてのa,bについて法を変えずに消去することはできない。▨
例 3.3. 合同式6x≡8(mod14)は、14∣2(3x−4)と同値であり、両辺と法から共通因子2を除くと3x≡4(mod7)となる。3⋅5≡1(mod7)なので、両辺に5を掛けるとx≡6(mod7)を得る。逆に、x≡6(mod7)ならば3x≡18≡4(mod7)である。したがって整数解はx=6+7t(t∈Z)であり、法14ではx≡6,13(mod14)の二つの類となる。
4 累乗の余りと周期
命題 4.1.mを正の整数、aを整数とする。正の整数i,Tが存在して、すべての整数n≥iに対してan+T≡an(modm)が成り立つ。
証明.a1,a2,…,am+1の余りはm個の値しか取らないので、1≤i<j≤m+1かつai≡aj(modm)を満たすi,jが存在する。任意の整数k≥0について、命題 2.1により両辺にakを掛けるとai+k≡aj+k(modm)となる。T=j−iとおけば、すべてのn≥iで所要の合同式が成り立つ。▨
この命題には、aとmが互いに素であるという条件はありません。繰り返しが初めの項から始まるとは限りません。たとえば、21の法4における余りは2ですが、n≥2では2nの余りは0です。
例 4.2.7100の一の位は、法10における余りである。
71≡7,72≡9,73≡3,74≡1(mod10)であるので、任意の整数n≥1について7n+4≡7n(mod10)である。100=4×25なので、
7100=(74)25≡125≡1(mod10)となり、一の位は1である。
5 法の選択による整数解の判定
問題 5.1. 非負整数kに対し、8k+7は三つの整数の平方の和として表すことができないことを示せ。
解答.
整数tが偶数ならばt=2uと書くことができ、t2=4u2の法8における余りは0または4である。tが奇数ならばt=2u+1と書くことができる。u(u+1)は偶数なので、
t2=4u(u+1)+1≡1(mod8)となる。
x2+y2+z2=8k+7を満たす整数x,y,zが存在すると仮定する。rをx,y,zのうち奇数であるものの個数とする。r=0ならば平方和の余りは0または4、r=1ならば1または5、r=2ならば2または6、r=3ならば3である。いずれの場合も余りは7ではない。これは8k+7≡7(mod8)に反する。したがって、所要の整数x,y,zは存在しない。▨
6 曜日の計算
例 6.1. 日曜日を0、月曜日を1、順に土曜日を6と対応させる。今日が日曜日ならば、非負整数nに対し、n日後の曜日はnを7で割った余りで定まる。たとえば、100=7×14+2なので、100日後は2日後と同じ火曜日である。
閑話休題:チェックディジットによる入力誤りの検出 ISBN-13 やクレジットカード番号の最後の1桁は、チェックディジットと呼ばれ、合同式を利用して入力誤りを検出するために用いられる。
ISBN-13 は、各桁に1,3,1,3,…の重みを掛けた和が10で割り切れるように最後の桁を決める。クレジットカード番号のルーン・アルゴリズムでは、1桁おきに桁を2倍し、9を超えたら9を引き、足し合わせた総和が法10で0になるように最後の桁を決める。
ISBN-13 の1桁をaから異なる数字a′に替えたとき、重みをw∈{1,3}とすると、和の変化はw(a′−a)である。wと10は互いに素であるので、命題 3.2によりw(a′−a)≡0(mod10)ならばa′≡a(mod10)である。0≤a,a′≤9なので、この合同式はa′=aを意味する。したがって、1桁の入力誤りは必ず検出される。
一方、ISBN-13 の隣接する異なる2桁a,bを入れ替えると、和の変化は2(a−b)または−2(a−b)である。命題 3.2により、この変化が10で割り切れるための必要十分条件はa−b≡0(mod5)である。a,bが異なる数字であることから、検出されないのは2桁の差の絶対値が5のときである。たとえば、0と5、1と6の入れ替えが該当する。
ISBN-10 は法を素数11に取る。桁の入れ替えによる和の変化をk(a−b)とすると、11がkを割り切らない限り、命題 3.2によりk(a−b)≡0(mod11)からa≡b(mod11)が従う。0≤a,b≤9では、この合同式はa=bを意味するので、異なる数字の入れ替えは検出される。法と重みの選択によって、検出することができる入力誤りの範囲が変わる。