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により、合同関係の反射律・対称律・推移律は、余りの等号の対応する性質から従います。したがって、合同関係は同値関係です。また、各整数をmで割った余りは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倍し、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を意味するので、異なる数字の入れ替えは検出されます。法と重みの選択によって、検出することができる入力誤りの範囲が変わります。
7 例題
次の合同式の値を求めよ(法より小さい非負の整数で答えること)。
解法の型位数(ak≡1となる最小のk)を求め、指数を位数で割った余りに落とす
例 7.1.
457(mod13)答12
注意4k≡1(mod13)となる最小のk(位数)はd=6。57=9×6+3より457≡43≡12(mod13)
例 7.2.
783(mod11)答2
注意7k≡1(mod11)となる最小のk(位数)はd=10。83=8×10+3より783≡73≡2(mod11)
例 7.3.
555(mod7)答5
注意5k≡1(mod7)となる最小のk(位数)はd=6。55=9×6+1より555≡51≡5(mod7)
例 7.4.
256(mod13)答9
注意2k≡1(mod13)となる最小のk(位数)はd=12。56=4×12+8より256≡28≡9(mod13)
例 7.5.
682(mod11)答3
注意6k≡1(mod11)となる最小のk(位数)はd=10。82=8×10+2より682≡62≡3(mod11)
例 7.6.
344(mod13)答9
注意3k≡1(mod13)となる最小のk(位数)はd=3。44=14×3+2より344≡32≡9(mod13)
例 7.7.
872(mod7)答1
注意8k≡1(mod7)となる最小のk(位数)はd=1。72=72×1+0より872≡80≡1(mod7)
例 7.8.
870(mod13)答12
注意8k≡1(mod13)となる最小のk(位数)はd=4。70=17×4+2より870≡82≡12(mod13)
例 7.9.
266(mod7)答1
注意2k≡1(mod7)となる最小のk(位数)はd=3。66=22×3+0より266≡20≡1(mod7)
例 7.10.
469(mod11)答3
注意4k≡1(mod11)となる最小のk(位数)はd=5。69=13×5+4より469≡44≡3(mod11)
8 演習
次の合同式の値を求めよ(法より小さい非負の整数で答えること)。
解法の型位数(ak≡1となる最小のk)を求め、指数を位数で割った余りに落とす
問題 8.1.
783(mod10)解答.
答3
注意7k≡1(mod10)となる最小のk(位数)はd=4。83=20×4+3より783≡73≡3(mod10)▨
問題 8.2.
654(mod13)解答.
答12
注意6k≡1(mod13)となる最小のk(位数)はd=12。54=4×12+6より654≡66≡12(mod13)▨
問題 8.3.
624(mod13)解答.
答1
注意6k≡1(mod13)となる最小のk(位数)はd=12。24=2×12+0より624≡60≡1(mod13)▨
問題 8.4.
353(mod13)解答.
答9
注意3k≡1(mod13)となる最小のk(位数)はd=3。53=17×3+2より353≡32≡9(mod13)▨
問題 8.5.
971(mod13)解答.
答3
注意9k≡1(mod13)となる最小のk(位数)はd=3。71=23×3+2より971≡92≡3(mod13)▨
問題 8.6.
576(mod11)解答.
答5
注意5k≡1(mod11)となる最小のk(位数)はd=5。76=15×5+1より576≡51≡5(mod11)▨
問題 8.7.
691(mod11)解答.
答6
注意6k≡1(mod11)となる最小のk(位数)はd=10。91=9×10+1より691≡61≡6(mod11)▨
問題 8.8.
525(mod13)解答.
答5
注意5k≡1(mod13)となる最小のk(位数)はd=4。25=6×4+1より525≡51≡5(mod13)▨
問題 8.9.
382(mod7)解答.
答4
注意3k≡1(mod7)となる最小のk(位数)はd=6。82=13×6+4より382≡34≡4(mod7)▨
問題 8.10.
234(mod7)解答.
答2
注意2k≡1(mod7)となる最小のk(位数)はd=3。34=11×3+1より234≡21≡2(mod7)▨
問題 8.11.
632(mod11)解答.
答3
注意6k≡1(mod11)となる最小のk(位数)はd=10。32=3×10+2より632≡62≡3(mod11)▨
問題 8.12.
597(mod11)解答.
答3
注意5k≡1(mod11)となる最小のk(位数)はd=5。97=19×5+2より597≡52≡3(mod11)▨
問題 8.13.
559(mod7)解答.
答3
注意5k≡1(mod7)となる最小のk(位数)はd=6。59=9×6+5より559≡55≡3(mod7)▨
問題 8.14.
397(mod10)解答.
答3
注意3k≡1(mod10)となる最小のk(位数)はd=4。97=24×4+1より397≡31≡3(mod10)▨
問題 8.15.
835(mod7)解答.
答1
注意8k≡1(mod7)となる最小のk(位数)はd=1。35=35×1+0より835≡80≡1(mod7)▨