MathLabs

算術と数論

合同式と合同算術(モジュラー演算)

固定した法(モジュラス)に達すると数が巡回する算術。

直観時計:巡回する数

時計の文字盤を見てほしい。1212時の次は1313時ではなく再び11時になる:時刻は1212ステップごとに「巡回」する。今99時なら、88時間後は「1717時」ではなく55時になる。なぜなら1717と55を1212で割った余りが同じだからだ。この日常的な巡回こそが合同式の考え方そのものである:2つの整数は、固定された数mm(法と呼ぶ)の倍数だけ差があるとき「同じ」とみなされる。合同式を使えば、非常に大きな数をその余りに置き換えても正しく計算できる——これが時計、暦、チェックディジット、ハッシュテーブル、そして現代暗号を支える仕組みである。

等分された円周上を移動する点。mを法とする余りがどのように出発点へ巡回するかを示す図。
法 mm の時計上で、各剰余 xx から ax mod ma x \bmod m へ弦を引く。mm と aa を変えて、写像が全剰余を置換する場合と部分群に潰れる場合を観察しよう。

中高定義と基本的な性質

定義: 法mmに関する合同

正の整数mm(法)を固定する。2つの整数aaとbbが**法mmに関して合同**であるとは、a≡b(modm)a \equiv b \pmod{m}と書き、mmがその差を割り切ること、すなわちm∣(a−b)m \mid (a-b)を意味する。同値に、aaとbbをmmで割った余りが等しいということである。固定したaaに合同なすべての整数は剰余類[a]={…,a−m,a,a+m,a+2m,… }[a] = \{\dots, a-m, a, a+m, a+2m, \dots\}をなし、相異なる剰余類はちょうどmm個あり、Z/mZ\mathbb{Z}/m\mathbb{Z}と書く。

a≡b(modm)  ⟺  m∣(a−b)a \equiv b \pmod{m} \iff m \mid (a-b)

ここでa,b,ma,b,mは整数でm>0m>0である。記号∣\midは「割り切る」と読み、(modm)\pmod mは合同式に付随する法を表す。この定義だけで、合同が反射的・対称的・推移的である——すなわち同値関係である——ことがわかる。だからこそ「法mmに関する剰余類」をそれ自体独立した対象として、集合Z/mZ={ [0],[1],…,[m−1] }\mathbb{Z}/m\mathbb{Z} = \{\,[0],[1],\dots,[m-1]\,\}にまとめて語ることに意味がある。

Z/mZ={ [0], [1], …, [m−1] }\mathbb{Z}/m\mathbb{Z} = \{\,[0],\,[1],\,\dots,\,[m-1]\,\}
どの演算が合同を保つか?
演算規則 (もしa≡b, c≡d(modm)a\equiv b,\ c\equiv d \pmod m)数値例 (mod 1212)
加法a+c≡b+d(modm)a+c\equiv b+d \pmod m9+8≡21≡9(mod12)9+8\equiv 21\equiv 9 \pmod{12}
減法a−c≡b−d(modm)a-c\equiv b-d \pmod m2−5≡−3≡9(mod12)2-5\equiv -3\equiv 9 \pmod{12}
乗法ac≡bd(modm)ac\equiv bd \pmod m5×5≡25≡1(mod12)5\times 5\equiv 25\equiv 1 \pmod{12}
除法 (ccの約分)gcd⁡(c,m)=1\gcd(c,m)=1のときのみ有効4×2≡4×5(mod6)4\times 2\equiv 4\times 5\pmod 6だが2≢52\not\equiv 5

大学定理

固定した法mmに対して:(i) すべてのaaについてa≡a(modm)a \equiv a \pmod{m}; (ii) a≡b(modm)  ⟹  b≡a(modm)a\equiv b \pmod m \implies b\equiv a\pmod m; (iii) a≡b, b≡c(modm)  ⟹  a≡c(modm)a\equiv b,\ b\equiv c \pmod m \implies a\equiv c \pmod m; さらにa≡b(modm)a\equiv b \pmod mかつc≡d(modm)c\equiv d\pmod mならばa+c≡b+d(modm)a+c \equiv b+d \pmod{m}かつac≡bd(modm)ac \equiv bd \pmod{m}。

なぜ正しいのか?

これにより合同式は算術として使えるようになる:巨大な元の数の代わりに余り同士を直接加減乗算しても、常に正しい余りが得られるということである——コンピュータが1616桁のカード番号を検証したり、100100桁の数を一度も保存せずに7100 mod 137^{100} \bmod 13を計算できたりする理由はここにある。

証明

反射性:a−a=0a-a=0であり、任意のmmに対してm∣0m\mid 0なので、a≡a(modm)a\equiv a\pmod m。

対称性:a≡b(modm)a\equiv b\pmod mならば、ある整数kkについてa−b=mka-b=mkであり、よってb−a=m(−k)b-a=m(-k)。−k-kも整数なのでm∣(b−a)m\mid(b-a)、すなわちb≡a(modm)b\equiv a\pmod m。

推移性:a≡b(modm)a\equiv b\pmod mかつb≡c(modm)b\equiv c\pmod mならば、a−b=mk1a-b=mk_1、b−c=mk2b-c=mk_2と書ける。両式を足すとa−c=(a−b)+(b−c)=m(k1+k2)a-c=(a-b)+(b-c)=m(k_1+k_2)となり、m∣(a−c)m\mid(a-c)、すなわちa≡c(modm)a\equiv c\pmod m。

加法との両立性:a−b=mk1a-b=mk_1とc−d=mk2c-d=mk_2から両式を足すと(a+c)−(b+d)=m(k1+k2)(a+c)-(b+d) = m(k_1+k_2)となり、これはmmの倍数なのでa+c≡b+d(modm)a+c\equiv b+d\pmod m。

乗法との両立性:ac−bd=ac−bc+bc−bd=c(a−b)+b(c−d)=c⋅mk1+b⋅mk2=m(ck1+bk2)ac-bd = ac-bc+bc-bd = c(a-b)+b(c-d) = c\cdot mk_1 + b\cdot mk_2 = m(ck_1+bk_2)と書ける。これもmmの倍数なのでac≡bd(modm)ac\equiv bd\pmod m。(i)-(iii)により合同は同値関係となり、最後の2ステップはZ\mathbb{Z}上のすべての環演算が剰余類Z/mZ\mathbb{Z}/m\mathbb{Z}上のwell-definedな演算へと降りることを示している。

もしgcd⁡(c,m)=1\gcd(c,m)=1ならば、ac≡bc(modm), gcd⁡(c,m)=1  ⟹  a≡b(modm)ac\equiv bc \pmod m,\ \gcd(c,m)=1 \implies a\equiv b \pmod m。同値に、ccは法mmに関する乗法逆元を持つ:cu≡1(modm)cu\equiv 1\pmod mを満たす整数uuが存在する。

なぜ正しいのか?

通常の「割り算」は実際には逆元による乗算であり、この定理はその逆元が法mmに関していつ存在するかをまさに教えてくれる:ccがmmと共通の因数を持たないときちょうど存在する。この条件がなければ簡約は実際に失敗する(上の表の最終行を参照)。だからこそ、法mmに関するべき乗についての後続のすべての結果——フェルマーの小定理、オイラーの定理、中国剰余定理——はこのただ一つの代数的事実の上に築かれている。

証明

gcd⁡(c,m)=1\gcd(c,m)=1より、ベズーの等式(ユークリッドの互除法の帰結)により∃ u,v∈Z: cu+mv=1\exists\, u,v \in \mathbb{Z}:\ cu+mv=1が保証される:cu+mv=1cu+mv=1を満たす整数u,vu,vが存在する。

ac≡bc(modm)ac\equiv bc\pmod mの両辺にuuを掛ける:acu≡bcu(modm)acu\equiv bcu\pmod m。ここでcu=1−mvcu=1-mvを代入すると、左辺はa(1−mv)=a−amva(1-mv)=a-amvとなり、amvamvはmmの倍数なのでa(1−mv)≡a(modm)a(1-mv)\equiv a\pmod m;同様に右辺もb(1−mv)≡b(modm)b(1-mv)\equiv b\pmod m。したがってa≡b(modm)a\equiv b\pmod mとなり、簡約法則が証明される。

さらに、a=1,b=0,c=ca=1,b=0,c=cとする必要はない——直接、同じ代入によりcu=1−mv≡1(modm)cu = 1-mv \equiv 1 \pmod mなので、uu自体がccの法mmに関する乗法逆元である:これはまさに定理の主張が存在を述べている対象である。

仮定gcd⁡(c,m)=1\gcd(c,m)=1は本質的である:c=4, m=6c=4,\ m=6とすると(gcd⁡(4,6)=2≠1\gcd(4,6)=2\neq1)、4×2=8≡2(mod6)4\times 2=8\equiv 2\pmod 6かつ4×5=20≡2(mod6)4\times 5=20\equiv 2\pmod 6なので4×2≡4×5(mod6)4\times2\equiv 4\times5\pmod 6だが、2≢5(mod6)2\not\equiv 5\pmod 6である——互いに素という仮定を外すと簡約は実際に失敗する。

発展実世界での応用と具体例

合同算術は応用数学の中で最も目立たず、しかし遍在する道具の一つである。暦はそれを使って曜日を求める(mod 77);バーコードやISBNのシステムは1桁のチェックディジット(mod 1111またはmod 1010)で入力ミスを検出する;計算機科学のハッシュテーブルは余りを取ることでキーをバケットに写像する;そしてRSA型暗号(次の2つのトピックで詳しく扱う)はメッセージの暗号化と復号をすべて法での指数計算を通じて行う。以下の2つの具体例は、暦とチェックディジットの応用の背後にある日常的な推論を示す。

例: 曜日を求める

今日が火曜日だとすると、100100日後は何曜日か?

解答

曜日は周期77で繰り返すので、重要なのは100100を77で割った余りだけである:100=7×14+2100 = 7\times 14 + 2なので100≡2(mod7)100 \equiv 2 \pmod 7。

上で証明した加法との両立性により、100100日進むことは法77のもとで単に22日進むことと同じ効果を持つ:火曜日+ 2+\,2日で木曜日になる。

したがって火曜日から100100日後は木曜日である。100100日すべてを一つずつ数える必要は一度もなかったことに注目してほしい——合同式によって大きな数を小さな同値な余りへと縮約できたのである。

例: ISBN-10のチェックディジットを検証する

ISBN-10コードd1d2⋯d10d_1d_2\cdots d_{10}が有効であるのは、まさに∑i=110i di≡0(mod11)\sum_{i=1}^{10} i\, d_i \equiv 0 \pmod{11}のときである。0-306-40615-20\text{-}306\text{-}40615\text{-}2が有効なISBN-10かどうかを確認せよ。

解答

数字d1,…,d10=0,3,0,6,4,0,6,1,5,2d_1,\dots,d_{10} = 0,3,0,6,4,0,6,1,5,2を並べ、重み付き和∑i di=1(0)+2(3)+3(0)+4(6)+5(4)+6(0)+7(6)+8(1)+9(5)+10(2)\sum i\,d_i = 1(0)+2(3)+3(0)+4(6)+5(4)+6(0)+7(6)+8(1)+9(5)+10(2)を作る。

各項を計算すると0,6,0,24,20,0,42,8,45,200,6,0,24,20,0,42,8,45,20。これらを足すと0+6+0+24+20+0+42+8+45+20=1650+6+0+24+20+0+42+8+45+20 = 165。

合同式の加法・乗法との両立性により、必要なのは165 mod 11165 \bmod 11だけである:11×15=16511\times 15 = 165なので165≡0(mod11)165 \equiv 0 \pmod{11}。検証は成功し、0-306-40615-20\text{-}306\text{-}40615\text{-}2は有効なISBN-10である。もし1桁でも入力ミスがあれば、重み付き和はほぼ確実に≡0(mod11)\equiv 0 \pmod{11}ではなくなる。これこそ出版社がこの仕組みを使ってデータ入力ミスを自動的に検出する理由である。

研究研究の最前線における合同式:現代暗号における剰余系

標準的な規約0≤r<m0 \le r < mのもとで、−17 mod 5-17 \bmod 5はいくつか?

a≡4(mod9)a \equiv 4 \pmod 9かつb≡7(mod9)b \equiv 7 \pmod 9のとき、ab mod 9ab \bmod 9はいくつか?

今日が火曜日なら、5050日後は何曜日か?

簡約法則ac≡bc(modm)  ⟹  a≡b(modm)ac\equiv bc \pmod m \implies a\equiv b\pmod mが成り立つことが保証されるのはいつか?

参考文献

  1. Carl Friedrich Gauss (1801). Disquisitiones Arithmeticae
  2. Jung Hee Cheon, Andrey Kim, Miran Kim, Yongsoo Song (2017). Homomorphic Encryption for Arithmetic of Approximate Numbers · DOI:10.1007/978-3-319-70694-8_15