§A4.5合同式の計算

最終更新

整数a,ba, bが法mm(正の整数)について合同である(a≡b(modm)a \equiv b \pmod{m})とは、m∣(a−b)m \mid (a - b)が成り立つことです。 この条件は、「aaとbbをmmで割った余りが等しい」と言い換えることができます。以降では、法mmについての合同式の四則演算を考えます。

1 合同と剰余類

定義 1.1 (合同).mmを正の整数とする。整数a,ba,bについてm∣(a−b)m\mid(a-b)が成り立つとき、aaとbbは法mmについて合同 (congruence) であるといい、a≡b(modm)a\equiv b\pmod mと書く。

命題 1.2.mmを正の整数、a,ba,bを整数とする。a≡b(modm)a\equiv b\pmod mであるための必要十分条件は、aaとbbをmmで割った余りが等しいことである。

証明.§A4.1 定理 2.1により、a=qm+ra=qm+r、b=q′m+sb=q'm+s、0≤r,s<m0\le r,s<mと書く。a−b=(q−q′)m+(r−s)a-b=(q-q')m+(r-s)であるので、m∣(a−b)m\mid(a-b)とm∣(r−s)m\mid(r-s)は同値である。−m<r−s<m-m<r-s<mであるので、この範囲にあるmmの倍数は00だけである。したがって、m∣(r−s)m\mid(r-s)とr=sr=sは同値である。▨

定義 1.3 (剰余類).mmを正の整数、aaを整数とする。aaと法mmについて合同な整数全体の集合[a]m={b∈Z∣b≡a(modm)}[a]_m=\{b\in\Z\mid b\equiv a\pmod m\}を、aaの法mmに関する剰余類 (residue class) という。aaを剰余類[a]m[a]_mの代表元 (representative) という。

命題 1.2により、合同関係の反射律・対称律・推移律は、余りの等号の対応する性質から従います。したがって、合同関係は同値関係です。また、各整数をmmで割った余りは0,1,…,m−10,1,\dots,m-1のいずれか一つであるので、整数全体はmm個の剰余類[0]m,[1]m,…,[m−1]m[0]_m,[1]_m,\dots,[m-1]_mに分割されます。

2 合同式の和・差・積

命題 2.1.mmを正の整数、a,a′,b,b′a,a',b,b'を整数とする。a≡a′(modm)a\equiv a'\pmod m、b≡b′(modm)b\equiv b'\pmod mならば、

a+b≡a′+b′,a−b≡a′−b′,ab≡a′b′(modm)a+b\equiv a'+b',\qquad a-b\equiv a'-b',\qquad ab\equiv a'b'\pmod m

が成り立つ。

証明.(a+b)−(a′+b′)=(a−a′)+(b−b′)(a+b)-(a'+b')=(a-a')+(b-b')、(a−b)−(a′−b′)=(a−a′)−(b−b′)(a-b)-(a'-b')=(a-a')-(b-b')は、いずれもmmの倍数である。また、ab−a′b′=a(b−b′)+b′(a−a′)ab-a'b'=a(b-b')+b'(a-a')もmmの倍数である。▨

命題 2.1により、代表元を替えても、和・差・積の剰余類は変わりません。したがって、剰余類どうしの和・差・積は、代表元どうしで計算した結果の剰余類として定めることができます。

3 合同式の消去

例 3.1.2⋅3≡2⋅8(mod10)2\cdot3\equiv2\cdot8\pmod{10}であるが、3≢8(mod10)3\not\equiv8\pmod{10}である。したがって、合同式の両辺を同じ整数で割っても、合同関係が保たれるとは限らない。

命題 3.2.mmを正の整数、ccを整数とし、d=gcd⁡(c,m)d=\gcd(c,m)とおく。任意の整数a,ba,bについて、

ca≡cb(modm)⟺a≡b(modm/d)ca\equiv cb\pmod m \quad\Longleftrightarrow\quad a\equiv b\pmod{m/d}

が成り立つ。したがって、すべての整数a,ba,bについて、ca≡cb(modm)ca\equiv cb\pmod mからa≡b(modm)a\equiv b\pmod mが従うための必要十分条件は、gcd⁡(c,m)=1\gcd(c,m)=1である。

証明.c=dc′c=dc'、m=dm′m=dm'と書く。§A4.3 補題 1.1により、cu+mv=dcu+mv=dを満たす整数u,vu,vを取ると、c′u+m′v=1c'u+m'v=1である。m∣c(a−b)m\mid c(a-b)とm′∣c′(a−b)m'\mid c'(a-b)は同値である。m′∣c′(a−b)m'\mid c'(a-b)ならば、

a−b=uc′(a−b)+vm′(a−b)a-b=u c'(a-b)+v m'(a-b)

よりm′∣(a−b)m'\mid(a-b)である。逆に、m′∣(a−b)m'\mid(a-b)ならばm′∣c′(a−b)m'\mid c'(a-b)である。よって最初の同値が成り立つ。

d=1d=1ならばm′=mm'=mなので、法を変えずにccを消去することができる。d>1d>1ならばa=m/da=m/d、b=0b=0とおく。ca=m(c/d)ca=m(c/d)はmmの倍数であるが、0<a<m0<a<mなのでaaはmmの倍数ではない。したがって、すべてのa,ba,bについて法を変えずに消去することはできない。▨

例 3.3. 合同式6x≡8(mod14)6x\equiv8\pmod{14}は、14∣2(3x−4)14\mid2(3x-4)と同値であり、両辺と法から共通因子22を除くと3x≡4(mod7)3x\equiv4\pmod7となる。3⋅5≡1(mod7)3\cdot5\equiv1\pmod7なので、両辺に55を掛けるとx≡6(mod7)x\equiv6\pmod7を得る。逆に、x≡6(mod7)x\equiv6\pmod7ならば3x≡18≡4(mod7)3x\equiv18\equiv4\pmod7である。したがって整数解はx=6+7tx=6+7t(t∈Zt\in\Z)であり、法1414ではx≡6,13(mod14)x\equiv6,13\pmod{14}の二つの類となる。

4 累乗の余りと周期

命題 4.1.mmを正の整数、aaを整数とする。正の整数i,Ti,Tが存在して、すべての整数n≥in\ge iに対してan+T≡an(modm)a^{n+T}\equiv a^n\pmod mが成り立つ。

証明.a1,a2,…,am+1a^1,a^2,\dots,a^{m+1}の余りはmm個の値しか取らないので、1≤i<j≤m+11\le i<j\le m+1かつai≡aj(modm)a^i\equiv a^j\pmod mを満たすi,ji,jが存在する。任意の整数k≥0k\ge0について、命題 2.1により両辺にaka^kを掛けるとai+k≡aj+k(modm)a^{i+k}\equiv a^{j+k}\pmod mとなる。T=j−iT=j-iとおけば、すべてのn≥in\ge iで所要の合同式が成り立つ。▨

累乗の余りの周期性についての上の命題には、aaとmmが互いに素であるという条件はありません。余りの繰り返しが初めの項から始まるとは限りません。たとえば、212^1の法44における余りは22ですが、n≥2n\ge2では2n2^nの余りは00です。

例 4.2.71007^{100}の一の位は、法1010における余りである。

71≡7,72≡9,73≡3,74≡1(mod10)7^1\equiv7,\quad7^2\equiv9,\quad7^3\equiv3,\quad7^4\equiv1\pmod{10}

であるので、任意の整数n≥1n\ge1について7n+4≡7n(mod10)7^{n+4}\equiv7^n\pmod{10}である。100=4×25100=4\times25なので、

7100=(74)25≡125≡1(mod10)7^{100}=(7^4)^{25}\equiv1^{25}\equiv1\pmod{10}

となり、一の位は11である。

5 法の選択による整数解の判定

問題 5.1. 非負整数kkに対し、8k+78k+7は三つの整数の平方の和として表すことができないことを示せ。

解答.

整数ttが偶数ならばt=2ut=2uと書くことができ、t2=4u2t^2=4u^2の法88における余りは00または44である。ttが奇数ならばt=2u+1t=2u+1と書くことができる。u(u+1)u(u+1)は偶数なので、

t2=4u(u+1)+1≡1(mod8)t^2=4u(u+1)+1\equiv1\pmod8

となる。

x2+y2+z2=8k+7x^2+y^2+z^2=8k+7を満たす整数x,y,zx,y,zが存在すると仮定する。rrをx,y,zx,y,zのうち奇数であるものの個数とする。r=0r=0ならば平方和の余りは00または44、r=1r=1ならば11または55、r=2r=2ならば22または66、r=3r=3ならば33である。いずれの場合も余りは77ではない。これは8k+7≡7(mod8)8k+7\equiv7\pmod8に反する。したがって、所要の整数x,y,zx,y,zは存在しない。▨

6 曜日の計算

例 6.1. 日曜日を00、月曜日を11、順に土曜日を66と対応させる。今日が日曜日ならば、非負整数nnに対し、nn日後の曜日はnnを77で割った余りで定まる。たとえば、100=7×14+2100=7\times14+2なので、100100日後は22日後と同じ火曜日である。

閑話休題:チェックディジットによる入力誤りの検出 ISBN-13 やクレジットカード番号の最後の1桁は、チェックディジットと呼ばれ、合同式を利用して入力誤りを検出するために用いられます。 ISBN-13 では、各桁に1,3,1,3,…1,3,1,3,\dotsの重みを掛けた和が1010で割り切れるように最後の桁を定めます。クレジットカード番号のルーン・アルゴリズムでは、1桁おきに桁の数字を2倍し、2倍した値が99を超える場合には、その値から99を引きます。こうして得た各桁の値の総和が法1010で00になるように、最後の桁を定めます。

ISBN-13 の1桁をaaから異なる数字a′a'に替えたとき、重みをw∈{1,3}w\in\{1,3\}とすると、和の変化はw(a′−a)w(a'-a)です。wwと1010は互いに素であるので、命題 3.2によりw(a′−a)≡0(mod10)w(a'-a)\equiv0\pmod{10}ならばa′≡a(mod10)a'\equiv a\pmod{10}です。0≤a,a′≤90\le a,a'\le9なので、この合同式はa′=aa'=aを意味します。したがって、1桁の入力誤りは必ず検出されます。

一方、ISBN-13 の隣接する異なる2桁a,ba,bを入れ替えると、和の変化は2(a−b)2(a-b)または−2(a−b)-2(a-b)です。命題 3.2により、この変化が1010で割り切れるための必要十分条件はa−b≡0(mod5)a-b\equiv0\pmod5です。a,ba,bが異なる数字であることから、入れ替えが検出されないのは2桁の差の絶対値が55のときです。たとえば、00と55、11と66の入れ替えが該当します。

ISBN-10 では、法を素数1111に取ります。桁の入れ替えによる和の変化をk(a−b)k(a-b)とすると、1111がkkを割り切らない限り、命題 3.2によりk(a−b)≡0(mod11)k(a-b)\equiv0\pmod{11}からa≡b(mod11)a\equiv b\pmod{11}が従います。0≤a,b≤90\le a,b\le9では、この合同式はa=ba=bを意味するので、異なる数字の入れ替えは検出されます。法と重みの選択によって、検出することができる入力誤りの範囲が変わります。

7 例題

レベル1 — 合同式のべき乗

次の合同式の値を求めよ(法より小さい非負の整数で答えること)。

解法の型位数(ak≡1a^k \equiv 1となる最小のkk)を求め、指数を位数で割った余りに落とす

例 7.1.

457(mod13)4^{57} \pmod{13}

答1212

注意4k≡1(mod13)4^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=6d = 6。57=9×6+357 = 9\times 6 + 3より457≡43≡12(mod13)4^{57} \equiv 4^{3} \equiv 12 \pmod{13}

例 7.2.

783(mod11)7^{83} \pmod{11}

答22

注意7k≡1(mod11)7^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=10d = 10。83=8×10+383 = 8\times 10 + 3より783≡73≡2(mod11)7^{83} \equiv 7^{3} \equiv 2 \pmod{11}

例 7.3.

555(mod7)5^{55} \pmod{7}

答55

注意5k≡1(mod7)5^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=6d = 6。55=9×6+155 = 9\times 6 + 1より555≡51≡5(mod7)5^{55} \equiv 5^{1} \equiv 5 \pmod{7}

例 7.4.

256(mod13)2^{56} \pmod{13}

答99

注意2k≡1(mod13)2^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=12d = 12。56=4×12+856 = 4\times 12 + 8より256≡28≡9(mod13)2^{56} \equiv 2^{8} \equiv 9 \pmod{13}

例 7.5.

682(mod11)6^{82} \pmod{11}

答33

注意6k≡1(mod11)6^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=10d = 10。82=8×10+282 = 8\times 10 + 2より682≡62≡3(mod11)6^{82} \equiv 6^{2} \equiv 3 \pmod{11}

例 7.6.

344(mod13)3^{44} \pmod{13}

答99

注意3k≡1(mod13)3^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=3d = 3。44=14×3+244 = 14\times 3 + 2より344≡32≡9(mod13)3^{44} \equiv 3^{2} \equiv 9 \pmod{13}

例 7.7.

872(mod7)8^{72} \pmod{7}

答11

注意8k≡1(mod7)8^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=1d = 1。72=72×1+072 = 72\times 1 + 0より872≡80≡1(mod7)8^{72} \equiv 8^{0} \equiv 1 \pmod{7}

例 7.8.

870(mod13)8^{70} \pmod{13}

答1212

注意8k≡1(mod13)8^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=4d = 4。70=17×4+270 = 17\times 4 + 2より870≡82≡12(mod13)8^{70} \equiv 8^{2} \equiv 12 \pmod{13}

例 7.9.

266(mod7)2^{66} \pmod{7}

答11

注意2k≡1(mod7)2^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=3d = 3。66=22×3+066 = 22\times 3 + 0より266≡20≡1(mod7)2^{66} \equiv 2^{0} \equiv 1 \pmod{7}

例 7.10.

469(mod11)4^{69} \pmod{11}

答33

注意4k≡1(mod11)4^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=5d = 5。69=13×5+469 = 13\times 5 + 4より469≡44≡3(mod11)4^{69} \equiv 4^{4} \equiv 3 \pmod{11}

8 演習

レベル1 — 合同式のべき乗

次の合同式の値を求めよ(法より小さい非負の整数で答えること)。

解法の型位数(ak≡1a^k \equiv 1となる最小のkk)を求め、指数を位数で割った余りに落とす

問題 8.1.

783(mod10)7^{83} \pmod{10}
解答.

答33

注意7k≡1(mod10)7^k \equiv 1 \pmod{10}となる最小のkk(位数)はd=4d = 4。83=20×4+383 = 20\times 4 + 3より783≡73≡3(mod10)7^{83} \equiv 7^{3} \equiv 3 \pmod{10}▨

問題 8.2.

654(mod13)6^{54} \pmod{13}
解答.

答1212

注意6k≡1(mod13)6^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=12d = 12。54=4×12+654 = 4\times 12 + 6より654≡66≡12(mod13)6^{54} \equiv 6^{6} \equiv 12 \pmod{13}▨

問題 8.3.

624(mod13)6^{24} \pmod{13}
解答.

答11

注意6k≡1(mod13)6^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=12d = 12。24=2×12+024 = 2\times 12 + 0より624≡60≡1(mod13)6^{24} \equiv 6^{0} \equiv 1 \pmod{13}▨

問題 8.4.

353(mod13)3^{53} \pmod{13}
解答.

答99

注意3k≡1(mod13)3^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=3d = 3。53=17×3+253 = 17\times 3 + 2より353≡32≡9(mod13)3^{53} \equiv 3^{2} \equiv 9 \pmod{13}▨

問題 8.5.

971(mod13)9^{71} \pmod{13}
解答.

答33

注意9k≡1(mod13)9^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=3d = 3。71=23×3+271 = 23\times 3 + 2より971≡92≡3(mod13)9^{71} \equiv 9^{2} \equiv 3 \pmod{13}▨

問題 8.6.

576(mod11)5^{76} \pmod{11}
解答.

答55

注意5k≡1(mod11)5^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=5d = 5。76=15×5+176 = 15\times 5 + 1より576≡51≡5(mod11)5^{76} \equiv 5^{1} \equiv 5 \pmod{11}▨

問題 8.7.

691(mod11)6^{91} \pmod{11}
解答.

答66

注意6k≡1(mod11)6^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=10d = 10。91=9×10+191 = 9\times 10 + 1より691≡61≡6(mod11)6^{91} \equiv 6^{1} \equiv 6 \pmod{11}▨

問題 8.8.

525(mod13)5^{25} \pmod{13}
解答.

答55

注意5k≡1(mod13)5^k \equiv 1 \pmod{13}となる最小のkk(位数)はd=4d = 4。25=6×4+125 = 6\times 4 + 1より525≡51≡5(mod13)5^{25} \equiv 5^{1} \equiv 5 \pmod{13}▨

問題 8.9.

382(mod7)3^{82} \pmod{7}
解答.

答44

注意3k≡1(mod7)3^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=6d = 6。82=13×6+482 = 13\times 6 + 4より382≡34≡4(mod7)3^{82} \equiv 3^{4} \equiv 4 \pmod{7}▨

問題 8.10.

234(mod7)2^{34} \pmod{7}
解答.

答22

注意2k≡1(mod7)2^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=3d = 3。34=11×3+134 = 11\times 3 + 1より234≡21≡2(mod7)2^{34} \equiv 2^{1} \equiv 2 \pmod{7}▨

問題 8.11.

632(mod11)6^{32} \pmod{11}
解答.

答33

注意6k≡1(mod11)6^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=10d = 10。32=3×10+232 = 3\times 10 + 2より632≡62≡3(mod11)6^{32} \equiv 6^{2} \equiv 3 \pmod{11}▨

問題 8.12.

597(mod11)5^{97} \pmod{11}
解答.

答33

注意5k≡1(mod11)5^k \equiv 1 \pmod{11}となる最小のkk(位数)はd=5d = 5。97=19×5+297 = 19\times 5 + 2より597≡52≡3(mod11)5^{97} \equiv 5^{2} \equiv 3 \pmod{11}▨

問題 8.13.

559(mod7)5^{59} \pmod{7}
解答.

答33

注意5k≡1(mod7)5^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=6d = 6。59=9×6+559 = 9\times 6 + 5より559≡55≡3(mod7)5^{59} \equiv 5^{5} \equiv 3 \pmod{7}▨

問題 8.14.

397(mod10)3^{97} \pmod{10}
解答.

答33

注意3k≡1(mod10)3^k \equiv 1 \pmod{10}となる最小のkk(位数)はd=4d = 4。97=24×4+197 = 24\times 4 + 1より397≡31≡3(mod10)3^{97} \equiv 3^{1} \equiv 3 \pmod{10}▨

問題 8.15.

835(mod7)8^{35} \pmod{7}
解答.

答11

注意8k≡1(mod7)8^k \equiv 1 \pmod{7}となる最小のkk(位数)はd=1d = 1。35=35×1+035 = 35\times 1 + 0より835≡80≡1(mod7)8^{35} \equiv 8^{0} \equiv 1 \pmod{7}▨

前提記事