§A4.5合同式の計算

最終更新

整数a,ba, bが法mm(正の整数)について合同である(a≡b(modm)a \equiv b \pmod{m})とは、m∣(a−b)m \mid (a - b)が成り立つことです。 「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により、合同関係の反射律・対称律・推移律は、余りの等号の対応する性質から従います。したがって、合同関係は同値関係です。また、各整数の余りは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倍し、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を意味するので、異なる数字の入れ替えは検出される。法と重みの選択によって、検出することができる入力誤りの範囲が変わる。

例題

条件と何を求めるかを確認してから、式と答えの対応を見比べてください。

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

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

  1. 例題 1

    457(mod13)4^{57} \pmod{13}
  2. 例題 2

    783(mod11)7^{83} \pmod{11}
  3. 例題 3

    555(mod7)5^{55} \pmod{7}
  4. 例題 4

    256(mod13)2^{56} \pmod{13}
  5. 例題 5

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

    344(mod13)3^{44} \pmod{13}
  7. 例題 7

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

    870(mod13)8^{70} \pmod{13}
  9. 例題 9

    266(mod7)2^{66} \pmod{7}
  10. 例題 10

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

演習

問題を解いてから「解答・解説」を開けます。

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

演習を読み込み中…

前提記事