Lemma数学ロードマップ

04 代数学(群・環・体) · 第 1 章

整数と合同式

目安 13〜17 時間定理など 28演習 10 問

この章の目標

  • 除法の原理から出発して、最大公約数・ベズーの等式・素因数分解の一意性を証明できる
  • 合同式と Z/nZ\mathbb{Z}/n\mathbb{Z} を自在に計算し、中国剰余定理・オイラーの定理を使える
  • 法 pp の原始根の存在を証明し、ルジャンドル記号と平方剰余の相互法則で平方剰余を判定できる

前提:00-foundations 第4章(同値関係と商集合)、00-foundations 第7章(整数の構成と整列性)

代数学を整数から始めるのには理由がある。整数全体 Z\mathbb{Z} は「足し算・引き算・掛け算ができるが、割り算は一般にはできない」世界の原型であり、後の章で抽象化される概念――イデアル、単項イデアル整域、剰余環、単元群、巡回群――がすべて具体的な形でここに現れる。この章では群や環の言葉をまだ使わずに議論するが、後で抽象化されるポイントには注意を添えておく。

本章を通じて、次の整列性 (well-ordering principle) を自由に使う:Z≥0\mathbb{Z}_{\geq 0} の空でない部分集合は最小元をもつ。これは数学的帰納法と同値な、整数の基本性質である(00-foundations 第7章)。

1.1 整除と除法の原理

定義 1.1(整除, divisibility)a,b∈Za, b \in \mathbb{Z} とする。b=acb = ac となる c∈Zc \in \mathbb{Z} が存在するとき、aa は bb を割り切る (divide) といい、a∣ba \mid b と書く。このとき aa を bb の約数 (divisor)、bb を aa の倍数 (multiple) という。割り切らないときは a∤ba \nmid b と書く。

例 1.2 3∣123 \mid 12、−3∣12-3 \mid 12、5∤125 \nmid 12 である。任意の aa について a∣0a \mid 0(0=a⋅00 = a \cdot 0)であり、特に 0∣00 \mid 0 である。一方 0∣b0 \mid b となるのは b=0b = 0 のときに限る。また ±1\pm 1 はすべての整数を割り切る。

命題 1.3(整除の基本性質)a,b,c∈Za, b, c \in \mathbb{Z} とする。

  1. a∣ba \mid b かつ b∣cb \mid c ならば a∣ca \mid c。
  2. a∣ba \mid b かつ a∣ca \mid c ならば、任意の x,y∈Zx, y \in \mathbb{Z} について a∣bx+cya \mid bx + cy。
  3. a∣ba \mid b かつ b≠0b \neq 0 ならば ∣a∣≤∣b∣\lvert a \rvert \leq \lvert b \rvert。
  4. a∣ba \mid b かつ b∣ab \mid a ならば a=±ba = \pm b。

証明. (1) b=asb = as, c=btc = bt ならば c=a(st)c = a(st)。(2) b=asb = as, c=atc = at ならば bx+cy=a(sx+ty)bx + cy = a(sx + ty)。(3) b=acb = ac で b≠0b \neq 0 なら c≠0c \neq 0 だから ∣c∣≥1\lvert c \rvert \geq 1 であり、∣b∣=∣a∣∣c∣≥∣a∣\lvert b \rvert = \lvert a \rvert \lvert c \rvert \geq \lvert a \rvert。(4) a=0a = 0 なら b=0b = 0 で成り立つ。a≠0a \neq 0 なら b≠0b \neq 0 でもあり、(3) より ∣a∣≤∣b∣≤∣a∣\lvert a \rvert \leq \lvert b \rvert \leq \lvert a \rvert、よって ∣a∣=∣b∣\lvert a \rvert = \lvert b \rvert。□\square

割り算の「商と余り」を保証するのが次の定理であり、本章のほぼすべての議論の出発点になる。

定理 1.4(除法の原理, division algorithm)a∈Za \in \mathbb{Z}, b∈Nb \in \mathbb{N} とする。このとき

a=bq+r,0≤r<ba = bq + r, \qquad 0 \leq r < b

をみたす整数 q,rq, r がただ一組存在する。qq を商 (quotient)、rr を余り (remainder) という。

証明. 存在:S={a−bk∣k∈Z}∩Z≥0S = \lbrace a - bk \mid k \in \mathbb{Z} \rbrace \cap \mathbb{Z}_{\geq 0} とおく。k=−∣a∣k = -\lvert a \rvert とすると a−bk=a+b∣a∣≥a+∣a∣≥0a - bk = a + b\lvert a \rvert \geq a + \lvert a \rvert \geq 0 だから S≠∅S \neq \emptyset である。整列性により SS の最小元 r=a−bqr = a - bq がとれる。r≥0r \geq 0 であり、もし r≥br \geq b ならば r−b=a−b(q+1)∈Sr - b = a - b(q+1) \in S で r−b<rr - b < r となり最小性に反する。よって 0≤r<b0 \leq r < b。

一意性:a=bq+r=bq′+r′a = bq + r = bq' + r'(0≤r,r′<b0 \leq r, r' < b)とすると b(q−q′)=r′−rb(q - q') = r' - r だから b∣r′−rb \mid r' - r である。∣r′−r∣<b\lvert r' - r \rvert < b なので命題 1.3 (3) より r′−r=0r' - r = 0、したがって q=q′q = q' でもある。□\square

注意 1.5 商 qq は ⌊a/b⌋\lfloor a/b \rfloor(a/ba/b 以下の最大の整数)に等しい。負の数の割り算では余りを 00 以上にとるのが約束であり、たとえば −17=5⋅(−4)+3-17 = 5 \cdot (-4) + 3 である(−17=5⋅(−3)−2-17 = 5 \cdot (-3) - 2 ではない)。b<0b < 0 の場合も 0≤r<∣b∣0 \leq r < \lvert b \rvert として同様の主張が成り立つ。

1.2 最大公約数とユークリッドの互除法

定義 1.6(最大公約数, greatest common divisor)a,b∈Za, b \in \mathbb{Z} の少なくとも一方が 00 でないとき、a,ba, b の公約数(両方を割り切る整数)のうち最大のものを a,ba, b の最大公約数といい、gcd⁡(a,b)\gcd(a, b) と書く。gcd⁡(0,0):=0\gcd(0, 0) := 0 と約束する。gcd⁡(a,b)=1\gcd(a, b) = 1 のとき a,ba, b は互いに素 (coprime, relatively prime) であるという。

公約数は有限個(00 でない方の絶対値以下)で 11 を含むから、最大公約数は存在して正である。次の定理は、最大公約数が「aa と bb の整数係数の一次結合全体」によって特徴づけられることを示す。この見方は第6章で単項イデアル整域として一般化される。

定理 1.7(ベズーの等式, Bézout's identity)a,b∈Za, b \in \mathbb{Z} の少なくとも一方は 00 でないとし、d=gcd⁡(a,b)d = \gcd(a, b) とおく。

  1. ax+by=dax + by = d をみたす x,y∈Zx, y \in \mathbb{Z} が存在する。
  2. {ax+by∣x,y∈Z}={dk∣k∈Z}\lbrace ax + by \mid x, y \in \mathbb{Z} \rbrace = \lbrace dk \mid k \in \mathbb{Z} \rbrace である。
  3. a,ba, b の任意の公約数 cc は dd を割り切る。

証明. I={ax+by∣x,y∈Z}I = \lbrace ax + by \mid x, y \in \mathbb{Z} \rbrace とおく。a2+b2>0a^2 + b^2 > 0 は II の正の元だから、整列性により II の正の元の最小値 d0d_0 がとれる。

まず I={d0k∣k∈Z}I = \lbrace d_0 k \mid k \in \mathbb{Z} \rbrace を示す。II は和と整数倍で閉じているから d0d_0 の倍数は II に属する。逆に n∈In \in I を n=d0q+rn = d_0 q + r(0≤r<d00 \leq r < d_0)と割ると、r=n−d0q∈Ir = n - d_0 q \in I であり、d0d_0 の最小性から r=0r = 0 でなければならない。よって nn は d0d_0 の倍数である。

a=a⋅1+b⋅0∈Ia = a \cdot 1 + b \cdot 0 \in I、b∈Ib \in I だから、d0d_0 は a,ba, b の公約数であり、d0≤dd_0 \leq d である。一方、a,ba, b の任意の公約数 cc は命題 1.3 (2) により II のすべての元、特に d0d_0 を割り切る。c=dc = d とすると d∣d0d \mid d_0 だから d≤d0d \leq d_0。以上より d=d0d = d_0 であり、(1)〜(3) がすべて示された。□\square

系 1.8 gcd⁡(a,b)=1\gcd(a, b) = 1 であるための必要十分条件は、ax+by=1ax + by = 1 となる整数 x,yx, y が存在することである。

証明. 必要性は定理 1.7 (1)。逆に ax+by=1ax + by = 1 なら、公約数 cc は 11 を割り切るので c=±1c = \pm 1 である。□\square

命題 1.9 a∣bca \mid bc かつ gcd⁡(a,b)=1\gcd(a, b) = 1 ならば a∣ca \mid c である。

証明. ax+by=1ax + by = 1 とすると c=acx+bcyc = acx + bcy。右辺の 2 項はともに aa で割り切れる(第 2 項は a∣bca \mid bc による)。□\square

実際に最大公約数を計算するには、次の補題を繰り返し使う。

補題 1.10 a=bq+ra = bq + r ならば gcd⁡(a,b)=gcd⁡(b,r)\gcd(a, b) = \gcd(b, r) である。

証明. c∣a,c∣bc \mid a, c \mid b ならば c∣a−bq=rc \mid a - bq = r。逆に c∣b,c∣rc \mid b, c \mid r ならば c∣bq+r=ac \mid bq + r = a。よって (a,b)(a, b) の公約数全体と (b,r)(b, r) の公約数全体は一致する。□\square

ユークリッドの互除法 (Euclidean algorithm) とは、r−1=ar_{-1} = a, r0=br_0 = b(b>0b > 0)から始めて rk−1=rkqk+1+rk+1r_{k-1} = r_k q_{k+1} + r_{k+1}(0≤rk+1<rk0 \leq r_{k+1} < r_k)と割り算を繰り返す手続きである。余りは真に減少する非負整数だから有限回で 00 に到達し、補題 1.10 により最後の 00 でない余りが gcd⁡(a,b)\gcd(a, b) になる。

例 1.11 gcd⁡(252,198)\gcd(252, 198) を求める。

252=1⋅198+54,198=3⋅54+36,54=1⋅36+18,36=2⋅18.\begin{aligned} 252 &= 1 \cdot 198 + 54, \\ 198 &= 3 \cdot 54 + 36, \\ 54 &= 1 \cdot 36 + 18, \\ 36 &= 2 \cdot 18. \end{aligned}

よって gcd⁡(252,198)=18\gcd(252, 198) = 18。式を下から逆にたどると

18=54−36=54−(198−3⋅54)=4⋅54−198=4(252−198)−198=4⋅252−5⋅19818 = 54 - 36 = 54 - (198 - 3 \cdot 54) = 4 \cdot 54 - 198 = 4(252 - 198) - 198 = 4 \cdot 252 - 5 \cdot 198

となり、ベズーの等式の係数 x=4x = 4, y=−5y = -5 が得られる。係数は次の表のように前向きに計算してもよい(拡張ユークリッド互除法)。各行は r=252x+198yr = 252x + 198y をみたし、新しい行は「2 行前 − 商 × 1 行前」で作る。

rr 商 xx yy
252252 11 00
198198 11 00 11
5454 33 11 −1-1
3636 11 −3-3 44
1818 22 44 −5-5

係数は一意ではない:x=4+11tx = 4 + 11t, y=−5−14ty = -5 - 14t(t∈Zt \in \mathbb{Z})もすべて解である(252/18=14252/18 = 14, 198/18=11198/18 = 11)。

注意 1.12 a,b≠0a, b \neq 0 の公倍数のうち正で最小のものを最小公倍数 (least common multiple) といい lcm⁡(a,b)\operatorname{lcm}(a, b) と書く。gcd⁡(a,b)lcm⁡(a,b)=∣ab∣\gcd(a, b) \operatorname{lcm}(a, b) = \lvert ab \rvert が成り立ち(問題 1.1 の解答の後の注意を参照)、a,ba, b の公倍数全体は lcm⁡(a,b)\operatorname{lcm}(a, b) の倍数全体に一致する。第5章の言葉では、aZ+bZ=gcd⁡(a,b)Za\mathbb{Z} + b\mathbb{Z} = \gcd(a, b)\mathbb{Z}、aZ∩bZ=lcm⁡(a,b)Za\mathbb{Z} \cap b\mathbb{Z} = \operatorname{lcm}(a, b)\mathbb{Z} というイデアルの等式である。

1.3 素数と素因数分解の一意性

定義 1.13(素数, prime number)22 以上の整数 pp で、正の約数が 11 と pp だけであるものを素数という。22 以上の整数で素数でないものを合成数 (composite number) という。

素数の本質的な性質は、定義そのものよりも次の補題にある。第6章では、定義 1.13 に対応する性質(既約元)と補題 1.14 に対応する性質(素元)が一般の環では一致しないことを見る。

補題 1.14(ユークリッドの補題, Euclid's lemma)pp を素数とする。p∣abp \mid ab ならば p∣ap \mid a または p∣bp \mid b である。

証明. p∤ap \nmid a とする。gcd⁡(p,a)\gcd(p, a) は pp の正の約数なので 11 か pp であり、p∤ap \nmid a より gcd⁡(p,a)=1\gcd(p, a) = 1。命題 1.9 より p∣bp \mid b。□\square

帰納法により、p∣a1a2⋯anp \mid a_1 a_2 \cdots a_n ならばある ii で p∣aip \mid a_i となる。

定理 1.15(算術の基本定理, fundamental theorem of arithmetic)22 以上の任意の整数は素数の積として表され、その表し方は積の順序を除いて一意的である。

証明. 存在:n≥2n \geq 2 についての完全帰納法による。nn が素数ならそれ自身が表示である。合成数なら n=abn = ab(1<a,b<n1 < a, b < n)と書け、帰納法の仮定により a,ba, b はそれぞれ素数の積だから nn もそうである。

一意性:p1p2⋯pr=q1q2⋯qsp_1 p_2 \cdots p_r = q_1 q_2 \cdots q_s(pi,qjp_i, q_j は素数)のとき、r=sr = s かつ並べ替えれば pi=qip_i = q_i となることを rr についての帰納法で示す。p1∣q1⋯qsp_1 \mid q_1 \cdots q_s だから補題 1.14 によりある jj で p1∣qjp_1 \mid q_j であり、qjq_j は素数で p1>1p_1 > 1 だから p1=qjp_1 = q_j。番号を付け替えて j=1j = 1 としてよい。両辺を p1p_1 で割ると p2⋯pr=q2⋯qsp_2 \cdots p_r = q_2 \cdots q_s。r=1r = 1 のときは左辺が 11 になるので右辺も空積、すなわち s=1s = 1 である(素数は 11 より大きいから)。r≥2r \geq 2 のときは左辺が 11 より大きいので右辺も空積ではなく、s≥2s \geq 2 である。よって両辺はそれぞれ r−1r - 1 個、s−1s - 1 個(ともに 11 個以上)の素数の積であり、帰納法の仮定から r−1=s−1r - 1 = s - 1 かつ並べ替えれば pi=qip_i = q_i(i≥2i \geq 2)が従う。□\square

各 n≥2n \geq 2 は n=p1e1⋯pkekn = p_1^{e_1} \cdots p_k^{e_k}(p1<⋯<pkp_1 < \cdots < p_k は素数、ei≥1e_i \geq 1)と一意に書ける。これを nn の素因数分解 (prime factorization) という。a=∏pepa = \prod p^{e_p}, b=∏pfpb = \prod p^{f_p} ならば gcd⁡(a,b)=∏pmin⁡(ep,fp)\gcd(a, b) = \prod p^{\min(e_p, f_p)}、lcm⁡(a,b)=∏pmax⁡(ep,fp)\operatorname{lcm}(a, b) = \prod p^{\max(e_p, f_p)} である。

定理 1.16(ユークリッド)素数は無限に存在する。

証明. 素数が p1,…,pkp_1, \dots, p_k だけだとすると、N=p1⋯pk+1≥2N = p_1 \cdots p_k + 1 \geq 2 の素因数 pp はある pip_i に等しい。すると p∣N−p1⋯pk=1p \mid N - p_1 \cdots p_k = 1 となり矛盾。□\square

例 1.17(一意性は自明ではない)H={1,5,9,13,17,21,… }={4k+1∣k∈Z≥0}H = \lbrace 1, 5, 9, 13, 17, 21, \dots \rbrace = \lbrace 4k + 1 \mid k \in \mathbb{Z}_{\geq 0} \rbrace は掛け算で閉じている。HH の中だけで考えて、11 より大きく HH の 11 でない 22 元の積に書けない元を「HH-素数」と呼ぶ。9=3⋅39 = 3 \cdot 3, 21=3⋅721 = 3 \cdot 7, 49=7⋅749 = 7 \cdot 7 はいずれも HH-素数である(3,7∉H3, 7 \notin H だから)。ところが

441=9⋅49=21⋅21441 = 9 \cdot 49 = 21 \cdot 21

であり、HH の中では「素因数分解」が一意でない。定理 1.15 の証明で本質的だったのは補題 1.14 であり、その根拠はベズーの等式、つまり「足し算と引き算もできる」ことだった。HH は足し算で閉じていないため、この論法が使えない。第6章では、足し算も掛け算もできる環 Z[−5]\mathbb{Z}[\sqrt{-5}] でさえ一意性が壊れることを見る。

1.4 合同式と Z/nZ\mathbb{Z}/n\mathbb{Z}

「77 時間後は何時か」「今日から 100100 日後は何曜日か」という計算は、ある数で割った余りだけに注目する計算である。これを定式化したのが合同式である。

定義 1.18(合同, congruence)n∈Nn \in \mathbb{N} とする。n∣a−bn \mid a - b のとき、aa と bb は nn を法として合同 (congruent modulo nn) であるといい、a≡b(modn)a \equiv b \pmod{n} と書く。

a≡b(modn)a \equiv b \pmod{n} は「aa と bb を nn で割った余りが等しい」ことと同値である。

命題 1.19 法 nn の合同は同値関係であり、さらに和と積と両立する:a≡a′a \equiv a', b≡b′(modn)b \equiv b' \pmod{n} ならば

a+b≡a′+b′,ab≡a′b′(modn)a + b \equiv a' + b', \qquad ab \equiv a'b' \pmod{n}

証明. 反射律・対称律は明らか。推移律は n∣a−bn \mid a - b, n∣b−cn \mid b - c ならば n∣(a−b)+(b−c)=a−cn \mid (a - b) + (b - c) = a - c による。和については (a+b)−(a′+b′)=(a−a′)+(b−b′)(a + b) - (a' + b') = (a - a') + (b - b')、積については

ab−a′b′=a(b−b′)+(a−a′)b′ab - a'b' = a(b - b') + (a - a')b'

の右辺がともに nn の倍数であることから従う。□\square

定義 1.20(剰余類と Z/nZ\mathbb{Z}/n\mathbb{Z})法 nn の合同による aa の同値類 a‾=a+nZ={a+nk∣k∈Z}\overline{a} = a + n\mathbb{Z} = \lbrace a + nk \mid k \in \mathbb{Z} \rbrace を aa の剰余類 (residue class) といい、剰余類全体の集合を Z/nZ\mathbb{Z}/n\mathbb{Z} と書く。除法の原理により

Z/nZ={0‾,1‾,…,n−1‾}\mathbb{Z}/n\mathbb{Z} = \lbrace \overline{0}, \overline{1}, \dots, \overline{n-1} \rbrace

であり、これらは相異なる(ちょうど nn 個の元がある)。演算を a‾+b‾:=a+b‾\overline{a} + \overline{b} := \overline{a + b}、a‾⋅b‾:=ab‾\overline{a} \cdot \overline{b} := \overline{ab} で定める。

演算が代表元のとり方によらずに定まる(well-defined である)ことは、命題 1.19 そのものである。Z\mathbb{Z} の和・積の結合法則・交換法則・分配法則は代表元の計算からそのまま Z/nZ\mathbb{Z}/n\mathbb{Z} に遺伝し、0‾\overline{0} が和の単位元、1‾\overline{1} が積の単位元、−a‾\overline{-a} が a‾\overline{a} の和に関する逆元となる。第5章の言葉では、Z/nZ\mathbb{Z}/n\mathbb{Z} は可換環である。

例 1.21 Z/6Z\mathbb{Z}/6\mathbb{Z} の積の表は次のとおり(上線を省略して代表元で書く)。

×\times 00 11 22 33 44 55
00 00 00 00 00 00 00
11 00 11 22 33 44 55
22 00 22 44 00 22 44
33 00 33 00 33 00 33
44 00 44 22 00 44 22
55 00 55 44 33 22 11

2‾⋅3‾=0‾\overline{2} \cdot \overline{3} = \overline{0} のように、00 でない元の積が 00 になりうる。また 11 が現れる行は 11 と 55 の行だけであり、掛けて 1‾\overline{1} にできる相手をもつのは 1‾,5‾\overline{1}, \overline{5} だけである。

定義 1.22(単元)a‾∈Z/nZ\overline{a} \in \mathbb{Z}/n\mathbb{Z} に対し a‾ b‾=1‾\overline{a}\ \overline{b} = \overline{1} となる b‾\overline{b} が存在するとき、a‾\overline{a} を単元(可逆元, unit)といい、b‾\overline{b} を a‾\overline{a} の逆元とよぶ。単元全体を (Z/nZ)×(\mathbb{Z}/n\mathbb{Z})^\times と書き、既約剰余類群 (group of units modulo nn) という。

(Z/nZ)×(\mathbb{Z}/n\mathbb{Z})^\times は積で閉じており(a‾,b‾\overline{a}, \overline{b} の逆元が a′‾,b′‾\overline{a'}, \overline{b'} なら ab‾\overline{ab} の逆元は a′b′‾\overline{a'b'})、第2章で見るように群をなす。

定理 1.23 a‾∈(Z/nZ)×  ⟺  gcd⁡(a,n)=1\overline{a} \in (\mathbb{Z}/n\mathbb{Z})^\times \iff \gcd(a, n) = 1。

証明. a‾ b‾=1‾\overline{a}\ \overline{b} = \overline{1} となる bb が存在する   ⟺  \iff ab+nk=1ab + nk = 1 となる b,k∈Zb, k \in \mathbb{Z} が存在する   ⟺  \iff gcd⁡(a,n)=1\gcd(a, n) = 1(系 1.8)。□\square

系 1.24 Z/nZ\mathbb{Z}/n\mathbb{Z} の 0‾\overline{0} でないすべての元が単元であるための必要十分条件は、nn が素数であることである。

証明. nn が素数なら 1≤a≤n−11 \leq a \leq n - 1 に対して gcd⁡(a,n)=1\gcd(a, n) = 1 である。n=1n = 1 のときは Z/1Z={0‾}\mathbb{Z}/1\mathbb{Z} = \lbrace \overline{0} \rbrace で 1‾=0‾\overline{1} = \overline{0} となり、ここでは条件をみたさないと約束する(第5章で体の定義に 1≠01 \neq 0 を含める)。nn が合成数で n=abn = ab(1<a<n1 < a < n)なら gcd⁡(a,n)=a>1\gcd(a, n) = a > 1 で a‾≠0‾\overline{a} \neq \overline{0} は単元でない。□\square

pp が素数のとき、Z/pZ\mathbb{Z}/p\mathbb{Z} は四則演算(00 以外での割り算を含む)が自由にできる体であり、Fp\mathbb{F}_p と書く(第5章・第8章)。

例 1.25(逆元の計算)1717 の法 4343 での逆元を求める。互除法 43=2⋅17+943 = 2 \cdot 17 + 9, 17=1⋅9+817 = 1 \cdot 9 + 8, 9=1⋅8+19 = 1 \cdot 8 + 1 を逆にたどると

1=9−8=9−(17−9)=2⋅9−17=2(43−2⋅17)−17=2⋅43−5⋅171 = 9 - 8 = 9 - (17 - 9) = 2 \cdot 9 - 17 = 2(43 - 2 \cdot 17) - 17 = 2 \cdot 43 - 5 \cdot 17

よって 17⋅(−5)≡1(mod43)17 \cdot (-5) \equiv 1 \pmod{43} であり、逆元は −5‾=38‾\overline{-5} = \overline{38} である。

命題 1.26(一次合同式)d=gcd⁡(a,n)d = \gcd(a, n) とする。合同式 ax≡b(modn)ax \equiv b \pmod{n} が解をもつための必要十分条件は d∣bd \mid b であり、このとき解は法 nn でちょうど dd 個ある。

証明. 解 xx があれば b=ax−nkb = ax - nk と書けるので d∣bd \mid b。逆に d∣bd \mid b とし、a=da′a = da', n=dn′n = dn', b=db′b = db' と書く。n∣ax−b  ⟺  dn′∣d(a′x−b′)  ⟺  n′∣a′x−b′n \mid ax - b \iff dn' \mid d(a'x - b') \iff n' \mid a'x - b' だから、元の合同式は a′x≡b′(modn′)a'x \equiv b' \pmod{n'} と同値である。gcd⁡(a′,n′)=1\gcd(a', n') = 1 なので a′a' は法 n′n' で逆元をもち、解は法 n′n' でただ一つ x≡x0x \equiv x_0 である。法 nn で見れば x0,x0+n′,…,x0+(d−1)n′x_0, x_0 + n', \dots, x_0 + (d-1)n' の dd 個になる。□\square

例 1.27 12x≡18(mod30)12x \equiv 18 \pmod{30} は gcd⁡(12,30)=6∣18\gcd(12, 30) = 6 \mid 18 より解をもつ。66 で割って 2x≡3(mod5)2x \equiv 3 \pmod{5}、22 の逆元は 33 だから x≡9≡4(mod5)x \equiv 9 \equiv 4 \pmod{5}。法 3030 では x≡4,9,14,19,24,29x \equiv 4, 9, 14, 19, 24, 29 の 66 個である。一方 12x≡20(mod30)12x \equiv 20 \pmod{30} は 6∤206 \nmid 20 だから解をもたない。

1.5 中国剰余定理

複数の法についての合同式を同時にみたす数を求める問題は古くから考えられてきた(古代中国の算書『孫子算経』にこの種の問題が見られるのが名前の由来である)。

定理 1.28(中国剰余定理, Chinese remainder theorem)n1,…,nk∈Nn_1, \dots, n_k \in \mathbb{N} はどの 2 つも互いに素であるとし、N=n1n2⋯nkN = n_1 n_2 \cdots n_k とおく。任意の整数 a1,…,aka_1, \dots, a_k に対し、連立合同式

x≡a1(modn1),…,x≡ak(modnk)x \equiv a_1 \pmod{n_1}, \quad \dots, \quad x \equiv a_k \pmod{n_k}

は解をもち、解は法 NN でただ一つである。言い換えると、写像

Φ ⁣:Z/NZ→Z/n1Z×⋯×Z/nkZ,x+NZ↦(x+n1Z,…,x+nkZ)\Phi\colon \mathbb{Z}/N\mathbb{Z} \to \mathbb{Z}/n_1\mathbb{Z} \times \cdots \times \mathbb{Z}/n_k\mathbb{Z}, \qquad x + N\mathbb{Z} \mapsto (x + n_1\mathbb{Z}, \dots, x + n_k\mathbb{Z})

は全単射であり、成分ごとの和と積を保つ。

証明. ni∣Nn_i \mid N だから x≡y(modN)x \equiv y \pmod{N} ならば x≡y(modni)x \equiv y \pmod{n_i} であり、Φ\Phi は well-defined である。和と積を保つことは定義から明らか。

単射性:Φ(x)=Φ(y)\Phi(x) = \Phi(y) とすると、すべての ii で ni∣x−yn_i \mid x - y。一般に gcd⁡(m,n)=1\gcd(m, n) = 1, m∣cm \mid c, n∣cn \mid c ならば mn∣cmn \mid c である(c=mc′c = mc' とすると n∣mc′n \mid mc' で、命題 1.9 より n∣c′n \mid c')。n1⋯ni−1n_1 \cdots n_{i-1} と nin_i は互いに素である(共通の素因数 pp があれば補題 1.14 より pp はある njn_j(j<ij < i)と nin_i を割り切り、仮定に反する)から、ii についての帰納法で n1⋯ni∣x−yn_1 \cdots n_i \mid x - y が示され、特に N∣x−yN \mid x - y。

全射性:両辺はともに NN 個の元からなる有限集合なので、単射ならば全射である。□\square

解は具体的にも作れる。Ni=N/niN_i = N/n_i とおくと gcd⁡(Ni,ni)=1\gcd(N_i, n_i) = 1 だから NiMi≡1(modni)N_i M_i \equiv 1 \pmod{n_i} となる MiM_i がある。j≠ij \neq i なら nj∣Nin_j \mid N_i なので、

x=a1N1M1+a2N2M2+⋯+akNkMkx = a_1 N_1 M_1 + a_2 N_2 M_2 + \cdots + a_k N_k M_k

は x≡aiNiMi≡ai(modni)x \equiv a_i N_i M_i \equiv a_i \pmod{n_i} をみたす。

例 1.29 x≡2(mod3)x \equiv 2 \pmod 3, x≡3(mod5)x \equiv 3 \pmod 5, x≡2(mod7)x \equiv 2 \pmod 7 を解く。N=105N = 105、N1=35≡2(mod3)N_1 = 35 \equiv 2 \pmod 3 なので M1=2M_1 = 2、N2=21≡1(mod5)N_2 = 21 \equiv 1 \pmod 5 なので M2=1M_2 = 1、N3=15≡1(mod7)N_3 = 15 \equiv 1 \pmod 7 なので M3=1M_3 = 1。

x=2⋅35⋅2+3⋅21⋅1+2⋅15⋅1=233≡23(mod105)x = 2 \cdot 35 \cdot 2 + 3 \cdot 21 \cdot 1 + 2 \cdot 15 \cdot 1 = 233 \equiv 23 \pmod{105}

実際 23=3⋅7+2=5⋅4+3=7⋅3+223 = 3 \cdot 7 + 2 = 5 \cdot 4 + 3 = 7 \cdot 3 + 2 である。

注意

法が互いに素でないと定理は成り立たない。x≡1(mod4)x \equiv 1 \pmod 4 と x≡2(mod6)x \equiv 2 \pmod 6 は、前者から xx は奇数、後者から偶数となり、解をもたない。一般に 2 つの合同式 x≡a(modm)x \equiv a \pmod{m}, x≡b(modn)x \equiv b \pmod{n} が解をもつ必要十分条件は a≡b(modgcd⁡(m,n))a \equiv b \pmod{\gcd(m, n)} であり、解は法 lcm⁡(m,n)\operatorname{lcm}(m, n) で一意である。

系 1.30 定理 1.28 の全単射 Φ\Phi は、単元どうしを全単射に対応させる:

(Z/NZ)×⟷(Z/n1Z)××⋯×(Z/nkZ)×(\mathbb{Z}/N\mathbb{Z})^\times \longleftrightarrow (\mathbb{Z}/n_1\mathbb{Z})^\times \times \cdots \times (\mathbb{Z}/n_k\mathbb{Z})^\times

実際、Φ\Phi は積と 1‾\overline{1} を保つ全単射だから、x‾\overline{x} が逆元をもつことと、Φ(x‾)\Phi(\overline{x}) が成分ごとの積について逆元をもつこと、すなわち各成分が単元であることとが同値になる。

1.6 オイラー関数とフェルマー・オイラーの定理

定義 1.31(オイラー関数, Euler's totient function)n∈Nn \in \mathbb{N} に対し、1≤a≤n1 \leq a \leq n で gcd⁡(a,n)=1\gcd(a, n) = 1 となる aa の個数を φ(n)\varphi(n) と書く。定理 1.23 により φ(n)=∣(Z/nZ)×∣\varphi(n) = \lvert (\mathbb{Z}/n\mathbb{Z})^\times \rvert である。

命題 1.32

  1. gcd⁡(m,n)=1\gcd(m, n) = 1 ならば φ(mn)=φ(m)φ(n)\varphi(mn) = \varphi(m)\varphi(n)。
  2. 素数 pp と e≥1e \geq 1 について φ(pe)=pe−pe−1\varphi(p^e) = p^e - p^{e-1}。
  3. φ(n)=n∏p∣n(1−1p)\varphi(n) = n \displaystyle\prod_{p \mid n} \left(1 - \frac{1}{p}\right)(積は nn の素因数 pp にわたる)。

証明. (1) 系 1.30 の全単射で元の個数を比べる。(2) 1,…,pe1, \dots, p^e のうち pep^e と互いに素でないのは pp の倍数 p,2p,…,pe−1⋅pp, 2p, \dots, p^{e-1} \cdot p の pe−1p^{e-1} 個である。(3) n=∏pepn = \prod p^{e_p} として (1), (2) を使うと φ(n)=∏pep(1−1/p)\varphi(n) = \prod p^{e_p}(1 - 1/p)。□\square

たとえば φ(72)=72⋅12⋅23=24\varphi(72) = 72 \cdot \frac{1}{2} \cdot \frac{2}{3} = 24、φ(100)=100⋅12⋅45=40\varphi(100) = 100 \cdot \frac{1}{2} \cdot \frac{4}{5} = 40 である。

命題 1.33(ガウス)任意の n∈Nn \in \mathbb{N} について ∑d∣nφ(d)=n\displaystyle\sum_{d \mid n} \varphi(d) = n(和は nn の正の約数 dd にわたる)。

証明. {1,2,…,n}\lbrace 1, 2, \dots, n \rbrace を gcd⁡(a,n)\gcd(a, n) の値で分類する。gcd⁡(a,n)=e\gcd(a, n) = e となる aa は、a=eba = eb と書くと 1≤b≤n/e1 \leq b \leq n/e かつ gcd⁡(b,n/e)=1\gcd(b, n/e) = 1 をみたすものにちょうど対応するので、φ(n/e)\varphi(n/e) 個ある。よって n=∑e∣nφ(n/e)n = \sum_{e \mid n} \varphi(n/e) であり、d=n/ed = n/e も nn の約数全体を動くから結論を得る。□\square

たとえば n=12n = 12 では φ(1)+φ(2)+φ(3)+φ(4)+φ(6)+φ(12)=1+1+2+2+2+4=12\varphi(1) + \varphi(2) + \varphi(3) + \varphi(4) + \varphi(6) + \varphi(12) = 1 + 1 + 2 + 2 + 2 + 4 = 12 である。

定理 1.34(オイラーの定理, Euler's theorem)gcd⁡(a,n)=1\gcd(a, n) = 1 ならば aφ(n)≡1(modn)a^{\varphi(n)} \equiv 1 \pmod{n}。

証明. r1,…,rmr_1, \dots, r_m(m=φ(n)m = \varphi(n))を、11 以上 nn 以下で nn と互いに素な整数全体とする。ar1,…,armar_1, \dots, ar_m はいずれも nn と互いに素であり、法 nn で相異なる(ari≡arjar_i \equiv ar_j なら aa の逆元を掛けて ri≡rjr_i \equiv r_j)。よって ar1‾,…,arm‾\overline{ar_1}, \dots, \overline{ar_m} は r1‾,…,rm‾\overline{r_1}, \dots, \overline{r_m} の並べ替えであり、

amr1r2⋯rm≡r1r2⋯rm(modn)a^m r_1 r_2 \cdots r_m \equiv r_1 r_2 \cdots r_m \pmod{n}

r1⋯rmr_1 \cdots r_m は法 nn で逆元をもつので、これを両辺に掛けて am≡1a^m \equiv 1 を得る。□\square

第2章では、この定理がラグランジュの定理(群の元の位数は群の位数を割り切る)の特別な場合であることを見る。

系 1.35(フェルマーの小定理, Fermat's little theorem)pp を素数とする。p∤ap \nmid a ならば ap−1≡1(modp)a^{p-1} \equiv 1 \pmod{p} であり、任意の整数 aa について ap≡a(modp)a^p \equiv a \pmod{p} である。

証明. φ(p)=p−1\varphi(p) = p - 1 だから前半は定理 1.34 から従う。後半は、p∤ap \nmid a なら前半に aa を掛け、p∣ap \mid a なら両辺とも 00 である。□\square

例 1.36 210002^{1000} を 1313 で割った余りは、212≡12^{12} \equiv 1 と 1000=12⋅83+41000 = 12 \cdot 83 + 4 より 21000≡24=16≡3(mod13)2^{1000} \equiv 2^4 = 16 \equiv 3 \pmod{13}。同様に 3100≡3100−6⋅16=34=81≡4(mod7)3^{100} \equiv 3^{100 - 6 \cdot 16} = 3^4 = 81 \equiv 4 \pmod 7。

注意 1.37 フェルマーの小定理の逆は成り立たない。561=3⋅11⋅17561 = 3 \cdot 11 \cdot 17 は合成数だが、gcd⁡(a,561)=1\gcd(a, 561) = 1 なるすべての aa で a560≡1(mod561)a^{560} \equiv 1 \pmod{561} となる。実際 2,10,162, 10, 16 はいずれも 560560 を割り切るので、フェルマーの小定理から a560≡1a^{560} \equiv 1 が法 33, 1111, 1717 のそれぞれで成り立ち、中国剰余定理(の単射性の部分)により法 561561 でも成り立つ。このような合成数をカーマイケル数 (Carmichael number) という。

定理 1.38(ウィルソンの定理, Wilson's theorem)pp が素数ならば (p−1)!≡−1(modp)(p-1)! \equiv -1 \pmod{p}。

証明. p=2p = 2 のときは 1!=1≡−1(mod2)1! = 1 \equiv -1 \pmod 2 で成り立つので、pp は奇素数とする。Fp\mathbb{F}_p で a2=1a^2 = 1 となるのは (a−1)(a+1)≡0(a - 1)(a + 1) \equiv 0、すなわち補題 1.14 により a≡±1a \equiv \pm 1 のときに限る。したがって 2,3,…,p−22, 3, \dots, p - 2 の各元はその逆元と異なり、逆元もこの範囲にある(11 の逆元は 11、p−1p-1 の逆元は p−1p-1 だから)。これらを「元とその逆元」の組に分けると各組の積は 11 なので、2⋅3⋯(p−2)≡12 \cdot 3 \cdots (p-2) \equiv 1。よって (p−1)!≡1⋅1⋅(p−1)≡−1(modp)(p - 1)! \equiv 1 \cdot 1 \cdot (p - 1) \equiv -1 \pmod{p}。□\square

逆に、n≥2n \geq 2 で (n−1)!≡−1(modn)(n-1)! \equiv -1 \pmod{n} ならば nn は素数である(問題 1.5)。

1.7 原始根

定義 1.39(位数)gcd⁡(a,n)=1\gcd(a, n) = 1 とする。ak≡1(modn)a^k \equiv 1 \pmod{n} となる最小の k∈Nk \in \mathbb{N} を、法 nn における aa の位数 (order) といい、ord⁡n(a)\operatorname{ord}_n(a) と書く。

オイラーの定理によりそのような kk は存在し、ord⁡n(a)≤φ(n)\operatorname{ord}_n(a) \leq \varphi(n) である。

命題 1.40 gcd⁡(a,n)=1\gcd(a, n) = 1、d=ord⁡n(a)d = \operatorname{ord}_n(a) とする。

  1. am≡1(modn)  ⟺  d∣ma^m \equiv 1 \pmod{n} \iff d \mid m。特に d∣φ(n)d \mid \varphi(n)。
  2. ai≡aj(modn)  ⟺  i≡j(modd)a^i \equiv a^j \pmod n \iff i \equiv j \pmod{d}。特に 1,a,…,ad−11, a, \dots, a^{d-1} は法 nn で相異なる。
  3. k∈Z≥0k \in \mathbb{Z}_{\geq 0} について ord⁡n(ak)=d/gcd⁡(d,k)\operatorname{ord}_n(a^k) = d / \gcd(d, k)。

証明. (1) m=dq+rm = dq + r(0≤r<d0 \leq r < d)と割ると am=(ad)qar≡ara^m = (a^d)^q a^r \equiv a^r。ar≡1a^r \equiv 1 となる 0≤r<d0 \leq r < d は位数の最小性から r=0r = 0 だけである。(2) i≥ji \geq j として、aja^j は逆元をもつから ai≡aj  ⟺  ai−j≡1  ⟺  d∣i−ja^i \equiv a^j \iff a^{i-j} \equiv 1 \iff d \mid i - j。(3) g=gcd⁡(d,k)g = \gcd(d, k) とおく。(1) により (ak)m≡1  ⟺  d∣km  ⟺  (d/g)∣(k/g)m(a^k)^m \equiv 1 \iff d \mid km \iff (d/g) \mid (k/g)m であり、gcd⁡(d/g,k/g)=1\gcd(d/g, k/g) = 1 なので命題 1.9 よりこれは (d/g)∣m(d/g) \mid m と同値である。よって aka^k の位数は d/gd/g。□\square

定義 1.41(原始根, primitive root)ord⁡n(g)=φ(n)\operatorname{ord}_n(g) = \varphi(n) となる gg を、法 nn の原始根という。

gg が原始根ならば、命題 1.40 (2) により 1,g,g2,…,gφ(n)−11, g, g^2, \dots, g^{\varphi(n)-1} は法 nn で相異なる φ(n)\varphi(n) 個の単元であり、したがって単元のすべてである。つまりすべての単元が gg のべきで表される。第2章の言葉では、(Z/nZ)×(\mathbb{Z}/n\mathbb{Z})^\times が gg で生成される巡回群であることを意味する。

例 1.42 法 77 では 33 のべきが 30,31,…,35≡1,3,2,6,4,53^0, 3^1, \dots, 3^5 \equiv 1, 3, 2, 6, 4, 5 となり、すべての単元を尽くすので 33 は原始根である。各元の位数は次のとおり。

aa 11 22 33 44 55 66
ord⁡7(a)\operatorname{ord}_7(a) 11 33 66 33 66 22

原始根は 3,53, 5 の 2 つで、これは φ(6)=2\varphi(6) = 2 と一致する(定理 1.44 参照)。一方、法 88 では (Z/8Z)×={1‾,3‾,5‾,7‾}(\mathbb{Z}/8\mathbb{Z})^\times = \lbrace \overline{1}, \overline{3}, \overline{5}, \overline{7} \rbrace のどの元も 22 乗すると 1‾\overline{1} になるので、位数 44 の元はなく、原始根は存在しない。

原始根の存在の証明には、多項式の根の個数についての次の定理が鍵になる。

定理 1.43(ラグランジュ)pp を素数とし、f(x)=cdxd+⋯+c1x+c0f(x) = c_d x^d + \cdots + c_1 x + c_0 を整数係数の多項式で p∤cdp \nmid c_d とする。このとき合同式 f(x)≡0(modp)f(x) \equiv 0 \pmod{p} の解は法 pp で高々 dd 個である。

証明. dd についての帰納法。d=0d = 0 のときは f=c0f = c_0 で p∤c0p \nmid c_0 だから解はない。d≥1d \geq 1 とし、解 aa が一つあるとする(なければ示すことはない)。多項式の割り算により f(x)=(x−a)g(x)+f(a)f(x) = (x - a)g(x) + f(a) と書ける。ここで gg は整数係数で次数 d−1d - 1、最高次係数は cdc_d である(x−ax - a で割る組立除法は整数の範囲で実行できる)。bb を別の解とすると、f(a)≡0f(a) \equiv 0 より (b−a)g(b)≡0(modp)(b - a)g(b) \equiv 0 \pmod{p} であり、補題 1.14 より b≡ab \equiv a または g(b)≡0(modp)g(b) \equiv 0 \pmod{p}。帰納法の仮定により後者の bb は法 pp で高々 d−1d - 1 個だから、解は全部で高々 dd 個である。□\square

注意

法が素数でないと定理 1.43 は成り立たない。x2≡1(mod8)x^2 \equiv 1 \pmod 8 は x≡1,3,5,7x \equiv 1, 3, 5, 7 の 44 個の解をもつ。Z/8Z\mathbb{Z}/8\mathbb{Z} には 2‾⋅4‾=0‾\overline{2} \cdot \overline{4} = \overline{0} のような「零因子」があり、証明中の補題 1.14 の使用が破綻するからである(第5章)。

定理 1.44(原始根の存在)pp が素数ならば、法 pp の原始根が存在する。さらに、法 pp の原始根はちょうど φ(p−1)\varphi(p - 1) 個ある。

証明. p−1p - 1 の各約数 dd に対し、1≤a≤p−11 \leq a \leq p - 1 のうち ord⁡p(a)=d\operatorname{ord}_p(a) = d となるものの個数を ψ(d)\psi(d) とおく。命題 1.40 (1) によりすべての aa の位数は p−1p - 1 の約数だから

∑d∣p−1ψ(d)=p−1\sum_{d \mid p-1} \psi(d) = p - 1

である。次に ψ(d)∈{0,φ(d)}\psi(d) \in \lbrace 0, \varphi(d) \rbrace を示す。ψ(d)≥1\psi(d) \geq 1 とし、位数 dd の aa をとる。命題 1.40 (2) により 1,a,…,ad−11, a, \dots, a^{d-1} は法 pp で相異なり、どれも xd−1≡0x^d - 1 \equiv 0 の解である。定理 1.43 よりこの合同式の解は高々 dd 個だから、これが解のすべてである。位数 dd の元はすべてこの合同式の解なので aka^k(0≤k<d0 \leq k < d)の形をしており、命題 1.40 (3) より ord⁡p(ak)=d  ⟺  gcd⁡(k,d)=1\operatorname{ord}_p(a^k) = d \iff \gcd(k, d) = 1。よって ψ(d)=φ(d)\psi(d) = \varphi(d) である。

以上と命題 1.33 から

p−1=∑d∣p−1ψ(d)≤∑d∣p−1φ(d)=p−1p - 1 = \sum_{d \mid p-1} \psi(d) \leq \sum_{d \mid p-1} \varphi(d) = p - 1

となり、等号が成り立つためにはすべての d∣p−1d \mid p - 1 で ψ(d)=φ(d)\psi(d) = \varphi(d) でなければならない。特に ψ(p−1)=φ(p−1)≥1\psi(p-1) = \varphi(p-1) \geq 1 であり、原始根は存在してちょうど φ(p−1)\varphi(p-1) 個ある。□\square

この証明の本質は「Fp\mathbb{F}_p で xd−1x^d - 1 の根は高々 dd 個」という事実だけである。第8章ではまったく同じ論法で、任意の体の乗法群の有限部分群は巡回群であることを示す。

注意 1.45 原始根が存在する法は n=1,2,4,pk,2pkn = 1, 2, 4, p^k, 2p^k(pp は奇素数、k≥1k \geq 1)に限ることが知られている。証明は例えば K. Ireland, M. Rosen, A Classical Introduction to Modern Number Theory (Springer) の第4章を参照。n=2kn = 2^k(k≥3k \geq 3)で原始根が存在しないことは問題 1.9 で示す。

1.8 平方剰余

x2≡a(modp)x^2 \equiv a \pmod{p} は解をもつか。二次方程式 x2+bx+c≡0x^2 + bx + c \equiv 0(pp は奇素数)は平方完成により (2x+b)2≡b2−4c(2x + b)^2 \equiv b^2 - 4c と変形できるから、この問いに答えられれば法 pp の二次方程式が解けるかどうかが判定できる。以下 pp は奇素数とする。

定義 1.46(平方剰余とルジャンドル記号)p∤ap \nmid a とする。x2≡a(modp)x^2 \equiv a \pmod{p} が解をもつとき aa を法 pp の平方剰余 (quadratic residue)、もたないとき平方非剰余 (quadratic nonresidue) という。ルジャンドル記号 (Legendre symbol) を

(ap)={1(a は平方剰余)−1(a は平方非剰余)0(p∣a)\left(\frac{a}{p}\right) = \begin{cases} 1 & (a \text{ は平方剰余}) \\ -1 & (a \text{ は平方非剰余}) \\ 0 & (p \mid a) \end{cases}

で定める。(ap)\left(\frac{a}{p}\right) は aa の法 pp の剰余類だけで決まる。

例 1.47 法 1111 で 12,22,…,1021^2, 2^2, \dots, 10^2 を計算すると 1,4,9,5,3,3,5,9,4,11, 4, 9, 5, 3, 3, 5, 9, 4, 1 となり、平方剰余は 1,3,4,5,91, 3, 4, 5, 9 の 55 個、平方非剰余は 2,6,7,8,102, 6, 7, 8, 10 の 55 個である。

命題 1.48 1,2,…,p−11, 2, \dots, p - 1 のうち、平方剰余と平方非剰余はちょうど (p−1)/2(p-1)/2 個ずつある。

証明. x2≡y2(modp)  ⟺  (x−y)(x+y)≡0  ⟺  x≡±yx^2 \equiv y^2 \pmod p \iff (x - y)(x + y) \equiv 0 \iff x \equiv \pm y である。xx と −x-x は法 pp で異なる(pp は奇数)から、12,22,…,((p−1)/2)21^2, 2^2, \dots, ((p-1)/2)^2 は相異なり、しかも x2=(−x)2x^2 = (-x)^2 よりこれらで平方剰余は尽くされる。□\square

定理 1.49(オイラーの規準, Euler's criterion)(ap)≡a(p−1)/2(modp)\left(\dfrac{a}{p}\right) \equiv a^{(p-1)/2} \pmod{p}。

証明. p∣ap \mid a のときは両辺とも 00 である。p∤ap \nmid a とし、gg を法 pp の原始根として a≡gka \equiv g^k と書く。

まず「aa が平方剰余   ⟺  \iff kk が偶数」を示す。kk が偶数なら a≡(gk/2)2a \equiv (g^{k/2})^2。逆に a≡x2a \equiv x^2 で x≡gjx \equiv g^j ならば gk≡g2jg^k \equiv g^{2j} だから、命題 1.40 (2) より k≡2j(modp−1)k \equiv 2j \pmod{p-1} で、p−1p - 1 が偶数なので kk も偶数である。

次に h=g(p−1)/2h = g^{(p-1)/2} とおくと h2≡1h^2 \equiv 1 だから、定理 1.43 より h≡±1h \equiv \pm 1 であり、gg の位数は p−1p - 1 なので h≢1h \not\equiv 1、すなわち h≡−1h \equiv -1。よって a(p−1)/2≡hk≡(−1)ka^{(p-1)/2} \equiv h^k \equiv (-1)^k となり、kk が偶数なら 11、奇数なら −1-1 である。□\square

系 1.50

  1. (abp)=(ap)(bp)\left(\dfrac{ab}{p}\right) = \left(\dfrac{a}{p}\right)\left(\dfrac{b}{p}\right)。
  2. (第 1 補充法則)(−1p)=(−1)(p−1)/2\left(\dfrac{-1}{p}\right) = (-1)^{(p-1)/2}。すなわち −1-1 が法 pp の平方剰余であるのは p≡1(mod4)p \equiv 1 \pmod 4 のときに限る。

証明. オイラーの規準により両辺は法 pp で合同であり、両辺とも 0,±10, \pm 1 のいずれかで、p≥3p \geq 3 なので 1≢−11 \not\equiv -1、よって等しい。□\square

(ap)\left(\frac{a}{p}\right) を計算するには、aa を素因数分解して系 1.50 (1) を使えば、(−1p)\left(\frac{-1}{p}\right)、(2p)\left(\frac{2}{p}\right)、(qp)\left(\frac{q}{p}\right)(qq は奇素数)が計算できればよい。最後のものについて、驚くべき対称性が成り立つ。

定理 1.51(平方剰余の相互法則, quadratic reciprocity law)p,qp, q を相異なる奇素数とする。

(pq)(qp)=(−1)p−12⋅q−12\left(\frac{p}{q}\right)\left(\frac{q}{p}\right) = (-1)^{\frac{p-1}{2} \cdot \frac{q-1}{2}}

すなわち、p≡q≡3(mod4)p \equiv q \equiv 3 \pmod 4 のときは (pq)=−(qp)\left(\frac{p}{q}\right) = -\left(\frac{q}{p}\right)、それ以外のときは (pq)=(qp)\left(\frac{p}{q}\right) = \left(\frac{q}{p}\right) である。さらに次が成り立つ(第 2 補充法則):

(2p)=(−1)(p2−1)/8={1(p≡±1(mod8))−1(p≡±3(mod8))\left(\frac{2}{p}\right) = (-1)^{(p^2-1)/8} = \begin{cases} 1 & (p \equiv \pm 1 \pmod 8) \\ -1 & (p \equiv \pm 3 \pmod 8) \end{cases}

この定理はガウスが最初に完全な証明を与え、生涯に何通りもの証明を与えたことで知られる。本教材では、円分体とガウス和を用いた証明を 15-algebraic-number-theory 第4章 で与える。ここでは主張を認めて使い方を見る。

例 1.52 (1) (3p)\left(\frac{3}{p}\right)(p≥5p \geq 5)を決定する。相互法則より、p≡1(mod4)p \equiv 1 \pmod 4 なら (3p)=(p3)\left(\frac{3}{p}\right) = \left(\frac{p}{3}\right)、p≡3(mod4)p \equiv 3 \pmod 4 なら (3p)=−(p3)\left(\frac{3}{p}\right) = -\left(\frac{p}{3}\right) である。(p3)\left(\frac{p}{3}\right) は p≡1(mod3)p \equiv 1 \pmod 3 なら 11、p≡2(mod3)p \equiv 2 \pmod 3 なら −1-1。4 通りの組合せを中国剰余定理で法 1212 にまとめると

(3p)=1  ⟺  p≡±1(mod12)\left(\frac{3}{p}\right) = 1 \iff p \equiv \pm 1 \pmod{12}

(2) x2≡38(mod59)x^2 \equiv 38 \pmod{59} は解をもつか。5959 は素数で、38=2⋅1938 = 2 \cdot 19。59≡3(mod8)59 \equiv 3 \pmod 8 より (259)=−1\left(\frac{2}{59}\right) = -1。19≡59≡3(mod4)19 \equiv 59 \equiv 3 \pmod 4 だから

(1959)=−(5919)=−(219)=−(−1)=1\left(\frac{19}{59}\right) = -\left(\frac{59}{19}\right) = -\left(\frac{2}{19}\right) = -(-1) = 1

(59=3⋅19+259 = 3 \cdot 19 + 2、19≡3(mod8)19 \equiv 3 \pmod 8 を使った)。よって (3859)=(−1)⋅1=−1\left(\frac{38}{59}\right) = (-1) \cdot 1 = -1 であり、解はない。

相互法則の驚くべき点は、「qq が法 pp で平方剰余か」という、pp ごとにばらばらに見える性質が、pp を 4q4q で割った余りだけで決まる、という規則性にある。(1) では 33 が平方剰余になる素数 pp が p mod 12p \bmod 12 で決まった。この現象を大きく一般化したのが類体論である(15-algebraic-number-theory 第7章)。

1.9 応用:RSA 暗号

整数論は純粋数学の中でも特に「役に立たない」分野と考えられていた時代があったが、20 世紀後半に公開鍵暗号の基礎となった。RSA 暗号(考案者 Rivest, Shamir, Adleman の頭文字)の仕組みは、ここまでの内容だけで完全に理解できる。

鍵の作成:受信者は大きな相異なる素数 p,qp, q を選び、n=pqn = pq、φ(n)=(p−1)(q−1)\varphi(n) = (p-1)(q-1) を計算する。gcd⁡(e,φ(n))=1\gcd(e, \varphi(n)) = 1 となる ee を選び、ed≡1(modφ(n))ed \equiv 1 \pmod{\varphi(n)} となる dd を拡張ユークリッド互除法で求める。(n,e)(n, e) を公開鍵として公開し、dd(と p,qp, q)を秘密にする。

暗号化と復号:送信者は平文 mm(0≤m<n0 \leq m < n の整数)を c≡me(modn)c \equiv m^e \pmod{n} に変換して送る。受信者は cd mod nc^d \bmod n を計算して mm を復元する。

定理 1.53(RSA 暗号の正当性)上の設定で、任意の整数 mm について med≡m(modn)m^{ed} \equiv m \pmod{n} が成り立つ。

証明. ed=1+kφ(n)ed = 1 + k\varphi(n)(k≥0k \geq 0)と書く。法 pp で考える。p∤mp \nmid m ならフェルマーの小定理より

med=m⋅(mp−1)k(q−1)≡m(modp)m^{ed} = m \cdot \left(m^{p-1}\right)^{k(q-1)} \equiv m \pmod{p}

p∣mp \mid m なら両辺とも 00 である。同様に med≡m(modq)m^{ed} \equiv m \pmod{q}。p,qp, q は互いに素だから、中国剰余定理(の単射性)により med≡m(modpq)m^{ed} \equiv m \pmod{pq}。□\square

gcd⁡(m,n)=1\gcd(m, n) = 1 を仮定する必要がないことに注意する。べき乗 me mod nm^e \bmod n は、指数を 2 進展開して 2 乗を繰り返す反復 2 乗法で、指数の桁数に比例する回数の乗算で計算できる。一方、公開鍵 (n,e)(n, e) から dd を求めるには φ(n)\varphi(n)、したがって実質的に nn の素因数分解が必要であり、数百桁の nn の素因数分解は現在知られているアルゴリズムでは現実的な時間でできないと考えられている。これが安全性の根拠である。

例 1.54 p=5p = 5, q=11q = 11 とすると n=55n = 55、φ(n)=40\varphi(n) = 40。e=3e = 3 とすると 3⋅27=81=2⋅40+13 \cdot 27 = 81 = 2 \cdot 40 + 1 より d=27d = 27。平文 m=2m = 2 は c=23=8c = 2^3 = 8 に暗号化される。復号では 827 mod 558^{27} \bmod 55 を反復 2 乗法で計算する:

82≡9,84≡81≡26,88≡676≡16,816≡256≡36(mod55)8^2 \equiv 9, \quad 8^4 \equiv 81 \equiv 26, \quad 8^8 \equiv 676 \equiv 16, \quad 8^{16} \equiv 256 \equiv 36 \pmod{55}

27=16+8+2+127 = 16 + 8 + 2 + 1 だから 827≡36⋅16⋅9⋅88^{27} \equiv 36 \cdot 16 \cdot 9 \cdot 8。36⋅16=576≡2636 \cdot 16 = 576 \equiv 26、26⋅9=234≡1426 \cdot 9 = 234 \equiv 14、14⋅8=112≡2(mod55)14 \cdot 8 = 112 \equiv 2 \pmod{55} となり、確かに m=2m = 2 が復元される。

まとめ

  • 除法の原理(定理 1.4)が整数論の出発点であり、そこからベズーの等式 ax+by=gcd⁡(a,b)ax + by = \gcd(a, b) が導かれる。gcd⁡\gcd は a,ba, b の一次結合全体の生成元として特徴づけられる。
  • ユークリッドの互除法で gcd⁡\gcd とベズーの等式の係数が効率よく計算できる。
  • ユークリッドの補題(素数 pp が積を割れば因数のどれかを割る)が素因数分解の一意性の核心である。
  • Z/nZ\mathbb{Z}/n\mathbb{Z} では和・積が well-defined であり、a‾\overline{a} が単元   ⟺  gcd⁡(a,n)=1\iff \gcd(a, n) = 1。Z/pZ=Fp\mathbb{Z}/p\mathbb{Z} = \mathbb{F}_p は体である。
  • 中国剰余定理:法がどの 2 つも互いに素なら、Z/NZ\mathbb{Z}/N\mathbb{Z} は各 Z/niZ\mathbb{Z}/n_i\mathbb{Z} の直積と和・積を込めて一致する。これからオイラー関数の乗法性が従う。
  • オイラーの定理 aφ(n)≡1a^{\varphi(n)} \equiv 1、フェルマーの小定理、ウィルソンの定理。
  • 素数 pp を法とする原始根が存在する:(Z/pZ)×(\mathbb{Z}/p\mathbb{Z})^\times のすべての元は一つの元のべきで書ける。鍵は「Fp\mathbb{F}_p 上の dd 次多項式の根は高々 dd 個」である。
  • オイラーの規準 (ap)≡a(p−1)/2\left(\frac{a}{p}\right) \equiv a^{(p-1)/2} と平方剰余の相互法則により、ルジャンドル記号は機械的に計算できる。
  • RSA 暗号の正当性はフェルマーの小定理と中国剰余定理から従う。

演習問題

問題 1.1 ★ ユークリッドの互除法で gcd⁡(1071,462)\gcd(1071, 462) を求め、1071x+462y=gcd⁡(1071,462)1071x + 462y = \gcd(1071, 462) をみたす整数 x,yx, y を一組求めよ。

解答

1071=2⋅462+1471071 = 2 \cdot 462 + 147、462=3⋅147+21462 = 3 \cdot 147 + 21、147=7⋅21147 = 7 \cdot 21 より gcd⁡=21\gcd = 21。逆にたどると

21=462−3⋅147=462−3(1071−2⋅462)=7⋅462−3⋅107121 = 462 - 3 \cdot 147 = 462 - 3(1071 - 2 \cdot 462) = 7 \cdot 462 - 3 \cdot 1071

よって x=−3x = -3, y=7y = 7 が一組の解である(−3213+3234=21-3213 + 3234 = 21)。

(注意 1.12 の等式 gcd⁡(a,b)lcm⁡(a,b)=∣ab∣\gcd(a, b)\operatorname{lcm}(a, b) = \lvert ab \rvert は、素因数分解の指数について min⁡(e,f)+max⁡(e,f)=e+f\min(e, f) + \max(e, f) = e + f が成り立つことから従う。この例では lcm⁡(1071,462)=1071⋅462/21=23562\operatorname{lcm}(1071, 462) = 1071 \cdot 462 / 21 = 23562。)

問題 1.2 ★ 連立合同式 x≡1(mod4)x \equiv 1 \pmod 4, x≡2(mod9)x \equiv 2 \pmod 9, x≡3(mod5)x \equiv 3 \pmod 5 を解け。

解答

N=180N = 180。N1=45≡1(mod4)N_1 = 45 \equiv 1 \pmod 4 より M1=1M_1 = 1、N2=20≡2(mod9)N_2 = 20 \equiv 2 \pmod 9 より M2=5M_2 = 5(2⋅5=10≡12 \cdot 5 = 10 \equiv 1)、N3=36≡1(mod5)N_3 = 36 \equiv 1 \pmod 5 より M3=1M_3 = 1。

x=1⋅45⋅1+2⋅20⋅5+3⋅36⋅1=353≡173(mod180)x = 1 \cdot 45 \cdot 1 + 2 \cdot 20 \cdot 5 + 3 \cdot 36 \cdot 1 = 353 \equiv 173 \pmod{180}

検算:173=4⋅43+1=9⋅19+2=5⋅34+3173 = 4 \cdot 43 + 1 = 9 \cdot 19 + 2 = 5 \cdot 34 + 3。

問題 1.3 ★ 320263^{2026} の下 2 桁を求めよ。

解答

法 100100 で計算する。310=59049≡493^{10} = 59049 \equiv 49、320≡492=2401≡1(mod100)3^{20} \equiv 49^2 = 2401 \equiv 1 \pmod{100}。2026=20⋅101+62026 = 20 \cdot 101 + 6 だから 32026≡36=729≡293^{2026} \equiv 3^6 = 729 \equiv 29。下 2 桁は 2929 である。(オイラーの定理 340≡13^{40} \equiv 1 を使ってもよいが、実際の位数 2020 は φ(100)=40\varphi(100) = 40 の真の約数になっている。)

問題 1.4 ★★ 任意の整数 nn について n13−nn^{13} - n は 27302730 で割り切れることを示せ。

解答

2730=2⋅3⋅5⋅7⋅132730 = 2 \cdot 3 \cdot 5 \cdot 7 \cdot 13 であり、中国剰余定理(の単射性)より各素数 p∈{2,3,5,7,13}p \in \lbrace 2, 3, 5, 7, 13 \rbrace について n13≡n(modp)n^{13} \equiv n \pmod{p} を示せばよい。p∣np \mid n なら両辺 00。p∤np \nmid n なら、p−1∈{1,2,4,6,12}p - 1 \in \lbrace 1, 2, 4, 6, 12 \rbrace はいずれも 1212 を割り切るので、フェルマーの小定理から n12=(np−1)12/(p−1)≡1n^{12} = (n^{p-1})^{12/(p-1)} \equiv 1、よって n13≡n(modp)n^{13} \equiv n \pmod p。

問題 1.5 ★★ n≥2n \geq 2 が (n−1)!≡−1(modn)(n-1)! \equiv -1 \pmod{n} をみたすならば、nn は素数であることを示せ(ウィルソンの定理の逆)。

解答

nn が合成数だとし、n=abn = ab(1<a<n1 < a < n)と書く。a≤n−1a \leq n - 1 だから a∣(n−1)!a \mid (n-1)!。仮定より n∣(n−1)!+1n \mid (n-1)! + 1 なので a∣(n−1)!+1a \mid (n-1)! + 1。よって a∣1a \mid 1 となり a>1a > 1 に矛盾する。

問題 1.6 ★★ 22 が法 1313 の原始根であることを示し、法 1313 の原始根をすべて求めよ。

解答

ord⁡13(2)\operatorname{ord}_{13}(2) は 1212 の約数である。24=16≡32^4 = 16 \equiv 3、26=64≡12≡−1(mod13)2^6 = 64 \equiv 12 \equiv -1 \pmod{13} だから、21,22,23,24,26≢12^1, 2^2, 2^3, 2^4, 2^6 \not\equiv 1 であり(21=22^1 = 2, 22=42^2 = 4, 23=82^3 = 8)、位数は 1212、すなわち 22 は原始根である。命題 1.40 (3) より、原始根は 2k2^k(gcd⁡(k,12)=1\gcd(k, 12) = 1、すなわち k=1,5,7,11k = 1, 5, 7, 11)である。25=32≡62^5 = 32 \equiv 6、27=26⋅2≡−2≡112^7 = 2^6 \cdot 2 \equiv -2 \equiv 11、211=26⋅25≡−6≡72^{11} = 2^6 \cdot 2^5 \equiv -6 \equiv 7。よって原始根は 2,6,7,112, 6, 7, 11 の φ(12)=4\varphi(12) = 4 個である。

問題 1.7 ★★ 383383 は素数である。(219383)\left(\dfrac{219}{383}\right) を計算せよ。

解答

219=3⋅73219 = 3 \cdot 73。3≡383≡3(mod4)3 \equiv 383 \equiv 3 \pmod 4 なので相互法則より (3383)=−(3833)=−(23)=−(−1)=1\left(\frac{3}{383}\right) = -\left(\frac{383}{3}\right) = -\left(\frac{2}{3}\right) = -(-1) = 1(383=127⋅3+2383 = 127 \cdot 3 + 2、3≡3(mod8)3 \equiv 3 \pmod 8)。73≡1(mod4)73 \equiv 1 \pmod 4 なので

(73383)=(38373)=(1873)=(273)(373)2=(273)=1\left(\frac{73}{383}\right) = \left(\frac{383}{73}\right) = \left(\frac{18}{73}\right) = \left(\frac{2}{73}\right)\left(\frac{3}{73}\right)^2 = \left(\frac{2}{73}\right) = 1

(383=5⋅73+18383 = 5 \cdot 73 + 18、73≡1(mod8)73 \equiv 1 \pmod 8)。よって (219383)=1⋅1=1\left(\frac{219}{383}\right) = 1 \cdot 1 = 1 であり、x2≡219(mod383)x^2 \equiv 219 \pmod{383} は解をもつ。

問題 1.8 ★★ 44 で割って 11 余る素数は無限に存在することを示せ。

解答

そのような素数が p1,…,pkp_1, \dots, p_k だけだとし、N=(2p1⋯pk)2+1N = (2p_1 \cdots p_k)^2 + 1 とおく。NN は奇数なので、その素因数 qq は奇素数である。(2p1⋯pk)2≡−1(modq)(2p_1 \cdots p_k)^2 \equiv -1 \pmod{q} だから −1-1 は法 qq の平方剰余であり、系 1.50 (2) より q≡1(mod4)q \equiv 1 \pmod 4。よって qq はある pip_i に等しいが、pi∣N−1p_i \mid N - 1 なので q∣1q \mid 1 となり矛盾する。

問題 1.9 ★★★ k≥3k \geq 3 とする。任意の奇数 aa について a2k−2≡1(mod2k)a^{2^{k-2}} \equiv 1 \pmod{2^k} であることを示し、法 2k2^k の原始根は存在しないことを結論せよ。

解答

kk についての帰納法。k=3k = 3:a=2m+1a = 2m + 1 なら a2=4m(m+1)+1a^2 = 4m(m+1) + 1 で、m(m+1)m(m+1) は偶数だから a2≡1(mod8)a^2 \equiv 1 \pmod 8。kk で成り立つとし、a2k−2=1+2kta^{2^{k-2}} = 1 + 2^k t と書くと

a2k−1=(1+2kt)2=1+2k+1t+22kt2≡1(mod2k+1)a^{2^{k-1}} = (1 + 2^k t)^2 = 1 + 2^{k+1} t + 2^{2k} t^2 \equiv 1 \pmod{2^{k+1}}

(2k≥k+12k \geq k + 1)。よって k+1k + 1 でも成り立つ。したがって法 2k2^k ではすべての単元の位数が 2k−22^{k-2} 以下であり、φ(2k)=2k−1>2k−2\varphi(2^k) = 2^{k-1} > 2^{k-2} だから位数 φ(2k)\varphi(2^k) の元はない。

(補足:実は 55 の位数はちょうど 2k−22^{k-2} であり、(Z/2kZ)×(\mathbb{Z}/2^k\mathbb{Z})^\times のすべての元は ±5j\pm 5^j と一意に書ける。第2章以降の言葉では (Z/2kZ)×≅Z/2Z×Z/2k−2Z(\mathbb{Z}/2^k\mathbb{Z})^\times \cong \mathbb{Z}/2\mathbb{Z} \times \mathbb{Z}/2^{k-2}\mathbb{Z} である。)

問題 1.10 ★★ RSA 暗号で p=7p = 7, q=11q = 11, e=7e = 7 とする。秘密鍵 dd を求め、暗号文 c=47c = 47 を復号せよ。

解答

n=77n = 77、φ(n)=60\varphi(n) = 60。7d≡1(mod60)7d \equiv 1 \pmod{60} を解く。60=8⋅7+460 = 8 \cdot 7 + 4、7=1⋅4+37 = 1 \cdot 4 + 3、4=1⋅3+14 = 1 \cdot 3 + 1 より 1=4−3=2⋅4−7=2⋅60−17⋅71 = 4 - 3 = 2 \cdot 4 - 7 = 2 \cdot 60 - 17 \cdot 7。よって d≡−17≡43(mod60)d \equiv -17 \equiv 43 \pmod{60}、d=43d = 43。

4743 mod 7747^{43} \bmod 77 は中国剰余定理で計算すると楽である。法 77:47≡547 \equiv 5、フェルマーの小定理で 56≡15^6 \equiv 1、43=6⋅7+143 = 6 \cdot 7 + 1 より 543≡55^{43} \equiv 5。法 1111:47≡347 \equiv 3、310≡13^{10} \equiv 1、43=10⋅4+343 = 10 \cdot 4 + 3 より 343≡27≡53^{43} \equiv 27 \equiv 5。よって m≡5(mod7)m \equiv 5 \pmod 7, m≡5(mod11)m \equiv 5 \pmod{11} で、m=5m = 5。実際 57=78125=77⋅1014+475^7 = 78125 = 77 \cdot 1014 + 47 である。

この章を読み終えたら

「読了」にすると学習記録とロードマップに反映されます。演習の自己採点もお忘れなく。

この章の誤りを報告GitHub で見る