コンテンツにスキップ

原始根と平方剰余の相互法則:mod p で平方数になる条件を決める

対象読者: 本テーマ第 2〜3 章の合同式・フェルマーの小定理・オイラー関数・中国剰余定理を学んだ人。群の位数と巡回群の基本を知っていると読みやすく、平方剰余は定義から扱います。

前提となる記事:合同式とフェルマーの小定理:余りだけの世界で計算する、整除と素因数分解:互除法・中国剰余定理・オイラー関数

生 Markdown

「7 で割った余りの世界で、平方数になる数はどれか」という素朴な問いを考えます。この記事では、その答えを素数ごとに判定する道具を作り、「素数 pp で見て qq が平方数かどうか」と「qq で見て pp が平方数かどうか」が、符号を除いてぴったり連動するという美しい規則(平方剰余の相互法則)を証明します。読み終えると、大きな数についても、平方数になるかどうかを手計算で判定できるようになります。

  • 素数 pp を法とする既約剰余類の群 (Z/pZ)×(\mathbb{Z}/p\mathbb{Z})^{\times}(pp と互いに素な余りの全体を、かけ算で見たもの)は巡回群(ある 1 つの元のべきですべての元が表せる群)です。つまり a,a2,…,ap−1a,a^2,\ldots,a^{p-1} が 1,…,p−11,\ldots,p-1 をちょうど一度ずつ通る原始根 aa が存在します(定理 2.5)。証明は、位数が dd の元の個数を φ(d)\varphi(d) で押さえて、約数についての和 ∑d∣nφ(d)=n\sum_{d\mid n}\varphi(d)=n と突き合わせるだけです。
  • 奇素数のべき pkp^k や 2pk2p^k を法としても原始根が存在します(定理 2.8)。
  • aa が pp を法とする平方剰余(ある xx について x2≡ax^2\equiv a)であるかどうかは、ルジャンドル記号 (ap)\left(\frac ap\right) で表され、オイラーの規準 (ap)≡a(p−1)/2(modp)\left(\frac ap\right)\equiv a^{(p-1)/2}\pmod p で計算できます(定理 3.3)。
  • ガウスの補題(補題 4.1)は、(ap)\left(\frac ap\right) を a,2a,…,p−12aa,2a,\ldots,\frac{p-1}2a の剰余のうち p/2p/2 を超えるものの個数の偶奇で表します。そこから補充法則 (2p)=1  ⟺  p≡±1(mod8)\left(\frac2p\right)=1\iff p\equiv\pm1\pmod 8 が出ます。
  • 平方剰余の相互法則(定理 5.3):相異なる奇素数 p,qp,q について (pq)(qp)=(−1)p−12⋅q−12\left(\frac pq\right)\left(\frac qp\right)=(-1)^{\frac{p-1}2\cdot\frac{q-1}2}。証明は、∑j⌊jq/p⌋+∑k⌊kp/q⌋\sum_j\lfloor jq/p\rfloor+\sum_k\lfloor kp/q\rfloor が長方形の格子点の個数に等しいことに帰着します(アイゼンシュタイン)。
  • 結果として、(ap)\left(\frac ap\right) は aa を素因数分解して相互法則を反復すれば、素数 pp の剰余類(法 4a4a)だけから決まります。

合同式 x2≡a(modp)x^2\equiv a\pmod p が解けるのはどんな aa でしょうか。p=7p=7 なら x=1,…,6x=1,\ldots,6 の平方は 1,4,2,2,4,11,4,2,2,4,1 で、a∈{1,2,4}a\in\{1,2,4\} だけが平方数です。p=11p=11 なら {1,3,4,5,9}\{1,3,4,5,9\}。半数ちょうどが平方数になるのは偶然でしょうか。

もう一つ。a=2a=2 は p=7p=7 で平方数ですが、p=5p=5 では平方数ではありません。p=3,5,11,13p=3,5,11,13 では平方数でなく、p=7,17,23p=7,17,23 では平方数です。素数によって決まるこの規則性に、オイラーとルジャンドルは気づいていましたが、証明できたのは 1796 年のガウスです。ガウスはこれを「黄金定理」と呼び、生涯に 8 通りの証明を与えました。この記事で扱う証明は、そのうち第 3 証明に由来するガウスの補題と、アイゼンシュタインの格子点による議論の組合せです。

この定理は、次の意味で整数論の転換点です。左辺 (pq)\left(\frac pq\right) は「pp が qq を法として平方数か」、右辺 (qp)\left(\frac qp\right) は「qq が pp を法として平方数か」で、二つの素数の立場を入れ替えた問いが、符号を除いて同じ答えになる。これは相互法則と呼ばれるより一般の現象(類体論という、この記事では扱わないより進んだ理論)の最初の例です。

記号。 pp は奇素数、h=(p−1)/2h=(p-1)/2 とします。合同式の基本は 合同式とフェルマーの小定理、互いに素と最大公約数、中国剰余定理、オイラー関数は 整除と素因数分解 を用います。特に次を既知とします。

定義 2.1(位数)↗

nn を正の整数、gcd⁡(a,n)=1\gcd(a,n)=1 とする。ak≡1(modn)a^k\equiv1\pmod n となる最小の正の整数 kk を、aa の nn を法とする位数といい、ordn(a)\mathrm{ord}_n(a) と書く。

位数が存在すること:gcd⁡(a,n)=1\gcd(a,n)=1 ならオイラーの定理(定理 5.3[合同式とフェルマーの小定理])により aφ(n)≡1a^{\varphi(n)}\equiv1 なので、k=φ(n)k=\varphi(n) が候補になり、整列性から最小のものが取れる。

補題 2.2(位数の基本性質)✓

d=ordn(a)d=\mathrm{ord}_n(a) とする。

  1. ak≡1(modn)  ⟺  d∣ka^k\equiv1\pmod n\iff d\mid k。特に d∣φ(n)d\mid\varphi(n)(n=pn=p が素数なら d∣p−1d\mid p-1)。
  2. gcd⁡(j,d)=g\gcd(j,d)=g のとき ordn(aj)=d/g\mathrm{ord}_n(a^j)=d/g。特に aja^j の位数が dd になるのは gcd⁡(j,d)=1\gcd(j,d)=1 のとき、かつそのときに限る。
  3. a0,a1,…,ad−1a^0,a^1,\ldots,a^{d-1} は nn を法として互いに合同でない。
証明(補題 2.2)

(1) (⇐\Leftarrow) k=dmk=dm なら ak=(ad)m≡1a^k=(a^d)^m\equiv1。(⇒\Rightarrow) k=dq+rk=dq+r(0≤r<d0\le r<d)とすると 1≡ak=(ad)qar≡ar1\equiv a^k=(a^d)^qa^r\equiv a^r。dd の最小性から r=0r=0。後半は k=φ(n)k=\varphi(n) に適用する。 (2) (aj)k=ajk≡1  ⟺  d∣jk  ⟺  (d/g)∣(j/g)k(a^j)^k=a^{jk}\equiv1\iff d\mid jk\iff(d/g)\mid(j/g)k。gcd⁡(d/g,j/g)=1\gcd(d/g,j/g)=1(補題 2.3[整除と素因数分解])なので、これは (d/g)∣k(d/g)\mid k と同値(補題 2.3[合同式とフェルマーの小定理]:gcd⁡(c,n)=1\gcd(c,n)=1 かつ n∣cmn\mid cm ならば n∣mn\mid m)。よって最小の kk は d/gd/g。 (3) 0≤i<j<d0\le i<j<d で ai≡aja^i\equiv a^j なら、aa が nn を法として可逆なので両辺に a−ia^{-i} をかけて aj−i≡1a^{j-i}\equiv1、0<j−i<d0<j-i<d は dd の最小性に反する。

多項式の根の個数が次数以下であることは、体上では成り立ちますが、一般の環では成り立ちません。x2≡1(mod15)x^2\equiv1\pmod{15} は 4 つの解をもちます(例 6.7[整除と素因数分解])。素数を法とするときは成り立ちます。

補題 2.3(素数を法とする根の個数)✓

pp を素数、f(x)=cnxn+⋯+c0f(x)=c_nx^n+\cdots+c_0 を整数係数の多項式で p∤cnp\nmid c_n(n≥0n\ge0)とする。このとき f(x)≡0(modp)f(x)\equiv0\pmod p の解は、pp を法として高々 nn 個である。

証明(補題 2.3)

nn に関する帰納法。n=0n=0 では f=c0≢0f=c_0\not\equiv0 なので解なし。n≥1n\ge1 とし、解 aa があれば f(x)=(x−a)g(x)+f(a)f(x)=(x-a)g(x)+f(a) と書ける(gg は整数係数、次数 n−1n-1、最高次の係数は cnc_n で p∤cnp\nmid c_n)。f(a)≡0f(a)\equiv0 なので、aa と合同でない別の解 bb について (b−a)g(b)≡0(modp)(b-a)g(b)\equiv0\pmod p。p∤b−ap\nmid b-a だから、ユークリッドの補題により p∣g(b)p\mid g(b)。すなわち aa 以外の解は gg の解で、帰納法の仮定により高々 n−1n-1 個。合わせて高々 nn 個。

定義 2.4(原始根)↗

gcd⁡(g,n)=1\gcd(g,n)=1 で ordn(g)=φ(n)\mathrm{ord}_n(g)=\varphi(n) となる整数 gg を、nn を法とする原始根という。

原始根 gg があると、補題 2.2(3) により g0,…,gφ(n)−1g^0,\ldots,g^{\varphi(n)-1} は互いに合同でない φ(n)\varphi(n) 個の可逆剰余類で、可逆剰余類の個数がちょうど φ(n)\varphi(n) なので、nn を法とする既約剰余類はすべて gg のべきで表されます((Z/nZ)×(\mathbb{Z}/n\mathbb{Z})^{\times} が gg で生成される巡回群)。

次の定理の証明の方針は、数え上げです。位数がちょうど dd の剰余類の個数を、各約数 dd について調べると、多くても φ(d)\varphi(d) 個です。一方、すべての dd にわたる個数の合計は p−1p-1 で、φ(d)\varphi(d) の合計もちょうど p−1p-1 です。合計が一致するので、どの dd でも等号が成り立つしかなく、d=p−1d=p-1 の分が原始根になります。

定理 2.5(素数を法とする原始根の存在)✓

素数 pp について、pp を法とする原始根が存在し、その個数(pp を法とする合同類として)はちょうど φ(p−1)\varphi(p-1) である。

証明(定理 2.5)

p=2p=2 は g=1g=1。pp を奇素数とする。p∤xp\nmid x なる各剰余類 xx の位数は p−1p-1 の約数(補題 2.2(1))。d∣p−1d\mid p-1 に対し、位数がちょうど dd である剰余類の個数を ψ(d)\psi(d) とおく。p−1p-1 個の可逆な剰余類がそれぞれちょうど一つの位数をもつので

∑d∣p−1ψ(d)=p−1.(∗)\sum_{d\mid p-1}\psi(d)=p-1.\tag{$*$}

主張: ψ(d)≤φ(d)\psi(d)\le\varphi(d)。 ψ(d)=0\psi(d)=0 なら明らか。ψ(d)≥1\psi(d)\ge1 とし、位数 dd の剰余類 aa を一つ取る。a0,a1,…,ad−1a^0,a^1,\ldots,a^{d-1} は互いに合同でなく(補題 2.2(3))、どれも xd≡1x^d\equiv1 の解である。補題 2.3 により xd−1≡0x^d-1\equiv0 の解は高々 dd 個なので、解は a0,…,ad−1a^0,\ldots,a^{d-1} ですべてである。したがって位数 dd の剰余類は aja^j (0≤j<d0\le j<d) の中にあり、補題 2.2(2) により位数が dd になるのは gcd⁡(j,d)=1\gcd(j,d)=1 のときに限る。その個数は φ(d)\varphi(d)。よって ψ(d)=φ(d)\psi(d)=\varphi(d)。

したがって ψ(d)≤φ(d)\psi(d)\le\varphi(d) がすべての d∣p−1d\mid p-1 で成り立つ。一方 定理 7.5[整除と素因数分解] から ∑d∣p−1φ(d)=p−1\sum_{d\mid p-1}\varphi(d)=p-1。(∗)(*) と合わせると、すべての dd で ψ(d)=φ(d)\psi(d)=\varphi(d) でなければならない(一つでも真に小さければ和が p−1p-1 に届かない)。d=p−1d=p-1 とすると ψ(p−1)=φ(p−1)≥1\psi(p-1)=\varphi(p-1)\ge1。

例 2.6(p = 7 と p = 13)

p=7p=7:31,…,36≡3,2,6,4,5,13^1,\ldots,3^6\equiv3,2,6,4,5,1 で、33 は原始根。原始根は φ(6)=2\varphi(6)=2 個で 3,53,5。位数の分布は、位数 11 が {1}\{1\}、位数 22 が {6}\{6\}、位数 33 が {2,4}\{2,4\}、位数 66 が {3,5}\{3,5\} で、ψ(1),ψ(2),ψ(3),ψ(6)=1,1,2,2=φ(1),φ(2),φ(3),φ(6)\psi(1),\psi(2),\psi(3),\psi(6)=1,1,2,2=\varphi(1),\varphi(2),\varphi(3),\varphi(6)。p=13p=13 の原始根は φ(12)=4\varphi(12)=4 個で 2,6,7,112,6,7,11。

素数でない法では、原始根が存在しないことがあります。n=8n=8 は、奇数 1,3,5,71,3,5,7 がどれも x2≡1(mod8)x^2\equiv1\pmod 8 を満たすので、位数が φ(8)=4\varphi(8)=4 になる元がありません。

素数を法とする原始根を素数べきに持ち上げます。

補題 2.7(1+pjt1 + p^j t の p 乗)✓

pp を奇素数、j≥1j\ge1、a=1+pjta=1+p^jt(p∤tp\nmid t)とする。このとき ap=1+pj+1t′a^p=1+p^{j+1}t' と書け、p∤t′p\nmid t' である。

証明(補題 2.7)

二項展開 ap=1+p⋅pjt+(p2)p2jt2+⋯+ppjtpa^p=1+p\cdot p^jt+\binom p2p^{2j}t^2+\cdots+p^{pj}t^p。2≤i≤p−12\le i\le p-1 の項では (pi)\binom pi が pp で割り切れるので、その項は p1+ijp^{1+ij} の倍数、1+ij≥1+2j≥j+21+ij\ge1+2j\ge j+2。最後の項は ppjp^{pj} の倍数で、pj≥3j≥j+2pj\ge3j\ge j+2(p≥3,j≥1p\ge3,j\ge1)。よって ap≡1+pj+1t(modpj+2)a^p\equiv1+p^{j+1}t\pmod{p^{j+2}} で、t′≡t≢0(modp)t'\equiv t\not\equiv0\pmod p。

次の定理の証明では、pp を法とする原始根 gg から出発して、pkp^k を法としても位数が最大になるようにします。そのために gp−1g^{p-1} が p2p^2 を法として 11 にならないことが要るので、そうなっていない場合には gg を g+pg+p に取り替えます(pp を法とする剰余類は変わりません)。

定理 2.8(素数べきと 2 × 素数べきの原始根)✓

pp を奇素数、k≥1k\ge1 とする。

  1. pkp^k を法とする原始根が存在する。
  2. 2pk2p^k を法とする原始根が存在する。
証明(定理 2.8)

(1) k=1k=1 は 定理 2.5。k≥2k\ge2 とする。gg を pp を法とする原始根とする。gp−1≡1(modp)g^{p-1}\equiv1\pmod p なので gp−1=1+ptg^{p-1}=1+pt と書ける。p∣tp\mid t のときは gg を g+pg+p に取り替える:(g+p)p−1≡gp−1+(p−1)gp−2p(modp2)(g+p)^{p-1}\equiv g^{p-1}+(p-1)g^{p-2}p\pmod{p^2} で、gp−1≡1(modp2)g^{p-1}\equiv1\pmod{p^2} のとき (g+p)p−1≡1−pgp−2(modp2)(g+p)^{p-1}\equiv1-pg^{p-2}\pmod{p^2}。p∤gp\nmid g だから p2∤pgp−2p^2\nmid pg^{p-2}、すなわち (g+p)p−1≢1(modp2)(g+p)^{p-1}\not\equiv1\pmod{p^2}。また g+p≡g(modp)g+p\equiv g\pmod p なので g+pg+p もやはり pp を法とする原始根。以下、p∤tp\nmid t としてよい。

補題 2.7 を繰り返すと、g(p−1)pi=1+pi+1tig^{(p-1)p^{i}}=1+p^{i+1}t_i(p∤tip\nmid t_i、i≥0i\ge0)。特に g(p−1)pk−2=1+pk−1tk−2≢1(modpk)g^{(p-1)p^{k-2}}=1+p^{k-1}t_{k-2}\not\equiv1\pmod{p^k} で、g(p−1)pk−1=1+pktk−1≡1(modpk)g^{(p-1)p^{k-1}}=1+p^kt_{k-1}\equiv1\pmod{p^k}。

d=ordpk(g)d=\mathrm{ord}_{p^k}(g) とする。gd≡1(modpk)g^d\equiv1\pmod{p^k} から gd≡1(modp)g^d\equiv1\pmod p なので、p−1=ordp(g)p-1=\mathrm{ord}_p(g) は dd を割り切る(補題 2.2(1))。また d∣φ(pk)=(p−1)pk−1d\mid\varphi(p^k)=(p-1)p^{k-1}。よって d=(p−1)psd=(p-1)p^s(0≤s≤k−10\le s\le k-1)。s≤k−2s\le k-2 なら d∣(p−1)pk−2d\mid(p-1)p^{k-2} で g(p−1)pk−2≡1(modpk)g^{(p-1)p^{k-2}}\equiv1\pmod{p^k} となり、上に示したことに反する。したがって s=k−1s=k-1、d=φ(pk)d=\varphi(p^k)。

(2) (1) の原始根 gg が奇数でなければ g+pkg+p^k に取り替える(奇数になり、pkp^k を法として同じ)。gg 奇数なら、すべての mm で gm≡1(mod2)g^m\equiv1\pmod2。したがって gm≡1(mod2pk)  ⟺  gm≡1(modpk)g^m\equiv1\pmod{2p^k}\iff g^m\equiv1\pmod{p^k}(命題 2.4[整除と素因数分解] により、22 と pkp^k の倍数であることは 2pk2p^k の倍数であることと同値)。よって ord2pk(g)=ordpk(g)=φ(pk)=φ(2pk)\mathrm{ord}_{2p^k}(g)=\mathrm{ord}_{p^k}(g)=\varphi(p^k)=\varphi(2p^k)。

注意 2.9(原始根をもつ法の分類)

実は、原始根が存在する n>1n>1 は n=2,4,pk,2pkn=2,4,p^k,2p^k(pp は奇素数)に限られます。2k2^k (k≥3k\ge3) や、異なる二つの奇素因数をもつ nn では、(Z/nZ)×(\mathbb{Z}/n\mathbb{Z})^{\times} に位数 22 の元が 3 個以上あるため巡回群になりえません。この記事では存在側(奇素数べきを法とする場合まで)だけを証明しました。非存在側と 2k2^k の構造は主張のみです。

3. 平方剰余とルジャンドル記号

Section titled “3. 平方剰余とルジャンドル記号”

定義 3.1(平方剰余)↗

pp を奇素数、p∤ap\nmid a とする。ある整数 xx について x2≡a(modp)x^2\equiv a\pmod p となるとき、aa を pp を法とする平方剰余といい、そうでないとき平方非剰余という。

定義 3.2(ルジャンドル記号)↗

奇素数 pp と整数 aa に対し、

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

をルジャンドル記号という。

(ap)\left(\frac ap\right) は aa を pp で割った余りだけで決まります。例えば (−17)=(67)=−1\left(\frac{-1}{7}\right)=\left(\frac67\right)=-1。

定理 3.3(オイラーの規準)✓

奇素数 pp と整数 aa について、(ap)≡a(p−1)/2(modp)\left(\dfrac ap\right)\equiv a^{(p-1)/2}\pmod p。

証明(定理 3.3)

p∣ap\mid a なら両辺とも 00。p∤ap\nmid a とし、h=(p−1)/2h=(p-1)/2。フェルマーの小定理により (ah)2=ap−1≡1(a^h)^2=a^{p-1}\equiv1 なので (ah−1)(ah+1)≡0(a^h-1)(a^h+1)\equiv0、ユークリッドの補題から ah≡±1(modp)a^h\equiv\pm1\pmod p。

a≡b2a\equiv b^2(平方剰余)なら ah≡bp−1≡1a^h\equiv b^{p-1}\equiv1。次に、平方剰余の個数が hh であることを示す。写像 b↦b2b\mapsto b^2 は {1,…,p−1}\{1,\ldots,p-1\} から pp を法とする平方剰余の集合への全射で、b2≡c2b^2\equiv c^2 なら (b−c)(b+c)≡0(b-c)(b+c)\equiv0、すなわち c≡±bc\equiv\pm b。また b≢−bb\not\equiv-b(pp が奇数で p∤bp\nmid b)。したがってちょうど二つずつの bb が同じ平方に写り、平方剰余の類は (p−1)/2=h(p-1)/2=h 個。

これらはすべて xh≡1x^h\equiv1 の解で、補題 2.3 により解は高々 hh 個なので、xh≡1x^h\equiv1 の解は平方剰余でちょうど尽きる。よって平方非剰余 aa では ah≢1a^h\not\equiv1、すなわち ah≡−1a^h\equiv-1。

系 3.4(ルジャンドル記号の性質)✓

pp を奇素数、a,ba,b を整数とする。

  1. (abp)=(ap)(bp)\left(\dfrac{ab}p\right)=\left(\dfrac ap\right)\left(\dfrac bp\right)。
  2. a≡b(modp)a\equiv b\pmod p ならば (ap)=(bp)\left(\dfrac ap\right)=\left(\dfrac bp\right)。
  3. (−1p)=(−1)(p−1)/2\left(\dfrac{-1}p\right)=(-1)^{(p-1)/2}。すなわち −1-1 が平方剰余であるのは p≡1(mod4)p\equiv1\pmod4 のとき、かつそのときに限る。
  4. p∤ap\nmid a なら (a2p)=1\left(\dfrac{a^2}p\right)=1。
  5. 1,…,p−11,\ldots,p-1 のうち、平方剰余と平方非剰余はそれぞれちょうど (p−1)/2(p-1)/2 個ある。
証明(系 3.4)

(1) 定理 3.3 から (abp)≡(ab)h=ahbh≡(ap)(bp)(modp)\left(\frac{ab}p\right)\equiv(ab)^h=a^hb^h\equiv\left(\frac ap\right)\left(\frac bp\right)\pmod p。両辺は −1,0,1-1,0,1 のどれかで、p≥3p\ge3 ならこれらは pp を法として互いに合同でないから、等号が成り立つ。(2) 定義から明らか。(3) 規準で (−1)h(-1)^h。(4) a2a^2 は平方剰余。(5) 前の証明で平方剰余の類は hh 個、残りの p−1−h=hp-1-h=h 個が非剰余。

例 3.5(p = 11 の平方剰余)

12,…,52≡1,4,9,5,31^2,\ldots,5^2\equiv1,4,9,5,3。平方剰余は {1,3,4,5,9}\{1,3,4,5,9\}(5=(p−1)/25=(p-1)/2 個)。(−111)=(1011)=−1\left(\frac{-1}{11}\right)=\left(\frac{10}{11}\right)=-1(11≡3(mod4)11\equiv3\pmod4)。規準の確認:25=32≡−12^5=32\equiv-1 なので 22 は非剰余、35=243=22⋅11+1≡13^5=243=22\cdot11+1\equiv1 なので 33 は剰余(52=25≡35^2=25\equiv3)。

オイラーの規準は a(p−1)/2a^{(p-1)/2} という巨大なべきの計算を要します。これを、小さい数の個数の偶奇に置き換えるのがガウスの補題です。

証明の方針:a,2a,…,haa,2a,\ldots,ha の pp での余りのうち、p/2p/2 を超えるものは pp から引いて「折り返し」ます。折り返した値は 1,…,h1,\ldots,h をちょうど一度ずつ通るので、元の余りの積と h!h! の比べ合わせで、折り返した個数 μ\mu に応じた符号 (−1)μ(-1)^{\mu} が現れます。これがオイラーの規準の aha^h に等しいことから補題が従います。

補題 4.1(ガウスの補題)✓

pp を奇素数、h=(p−1)/2h=(p-1)/2、p∤ap\nmid a とする。j=1,…,hj=1,\ldots,h について jaja を pp で割った余りを rj∈{1,…,p−1}r_j\in\{1,\ldots,p-1\} とし、rj>p/2r_j>p/2 となる jj の個数を μ\mu とおく。このとき

(ap)=(−1)μ.\left(\frac ap\right)=(-1)^{\mu}.

さらに、sj=rjs_j=r_j(rj<p/2r_j<p/2 のとき)、sj=p−rjs_j=p-r_j(rj>p/2r_j>p/2 のとき)とおくと、s1,…,shs_1,\ldots,s_h は 1,…,h1,\ldots,h の並べ替えである。

証明(補題 4.1)

rj≠p/2r_j\ne p/2(pp は奇数)なので sj∈{1,…,h}s_j\in\{1,\ldots,h\} が定まる。

sjs_j が相異なること。 sj=sks_j=s_k とすると rj≡±rk(modp)r_j\equiv\pm r_k\pmod p、すなわち ja≡±kaja\equiv\pm ka。p∤ap\nmid a なので aa で割れて(補題 2.3[合同式とフェルマーの小定理])j≡±k(modp)j\equiv\pm k\pmod p。1≤j,k≤h1\le j,k\le h なので 2≤j+k≤p−12\le j+k\le p-1 であり p∤j+kp\nmid j+k、また ∣j−k∣<p|j-k|<p なので p∣j−kp\mid j-k なら j=kj=k。したがって j=kj=k。s1,…,shs_1,\ldots,s_h は {1,…,h}\{1,\ldots,h\} の hh 個の相異なる元だから、並べ替えである。

積を比べる。 rj≡sjr_j\equiv s_j(小さい場合)、rj≡−sjr_j\equiv-s_j(大きい場合)なので、

∏j=1h(ja)≡∏j=1hrj≡(−1)μ∏j=1hsj=(−1)μh!(modp).\prod_{j=1}^h(ja)\equiv\prod_{j=1}^hr_j\equiv(-1)^{\mu}\prod_{j=1}^hs_j=(-1)^{\mu}h!\pmod p.

左辺は ahh!a^hh!。h!h! の因子はすべて pp 未満の正の整数だから p∤h!p\nmid h! で、h!h! で割って(ユークリッドの補題)ah≡(−1)μ(modp)a^h\equiv(-1)^{\mu}\pmod p。定理 3.3 により (ap)≡(−1)μ\left(\frac ap\right)\equiv(-1)^{\mu}。両辺は ±1\pm1 で p≥3p\ge3 なので等号が成り立つ。

例 4.2(p = 7, a = 3)

h=3h=3。3,6,93,6,9 を 77 で割った余りは 3,6,23,6,2。7/2=3.57/2=3.5 を超えるのは 66 のみで μ=1\mu=1。よって (37)=−1\left(\frac37\right)=-1。sj=3,1,2s_j=3,1,2 は確かに {1,2,3}\{1,2,3\} の並べ替え。実際、平方剰余は {1,2,4}\{1,2,4\} で 33 は含まれない。

命題 4.3(2 の平方剰余)✓

奇素数 pp について、(2p)=(−1)(p2−1)/8\left(\dfrac2p\right)=(-1)^{(p^2-1)/8}。すなわち (2p)=1  ⟺  p≡±1(mod8)\left(\frac2p\right)=1\iff p\equiv\pm1\pmod8。

証明(命題 4.3)

ガウスの補題を a=2a=2 に適用する。j=1,…,hj=1,\ldots,h で 2j≤p−1<p2j\le p-1<p なので rj=2jr_j=2j。2j>p/2  ⟺  j>p/42j>p/2\iff j>p/4 だから、μ=h−⌊p/4⌋\mu=h-\lfloor p/4\rfloor 。p=8k+rp=8k+r(r∈{1,3,5,7}r\in\{1,3,5,7\})として h=4k+(r−1)/2h=4k+(r-1)/2、⌊p/4⌋=2k+⌊r/4⌋\lfloor p/4\rfloor=2k+\lfloor r/4\rfloor なので

μ=2k+r−12−⌊r4⌋:r=1: 2k,r=3: 2k+1,r=5: 2k+1,r=7: 2k+2.\mu=2k+\frac{r-1}2-\left\lfloor\frac r4\right\rfloor:\quad r=1:\ 2k,\quad r=3:\ 2k+1,\quad r=5:\ 2k+1,\quad r=7:\ 2k+2.

μ\mu が偶数であるのは r=1,7r=1,7 のとき、すなわち p≡±1(mod8)p\equiv\pm1\pmod8 のとき。(p2−1)/8(p^2-1)/8 の偶奇も同じ:p=8k±1p=8k\pm1 で (p2−1)/8=8k2±2k(p^2-1)/8=8k^2\pm2k(偶)、p=8k±3p=8k\pm3 で 8k2±6k+18k^2\pm6k+1(奇)。

ガウスの補題の μ\mu を、床関数の和の偶奇で置き換えます。μ\mu は「折り返した個数」で数えにくいので、jaja を pp で割った商の和 S(a,p)S(a,p) に言い換えるのが狙いです。証明では、aa が奇数のとき両者の偶奇が一致することを、ja=p⌊ja/p⌋+rjja=p\lfloor ja/p\rfloor+r_j の和をとって調べます。

補題 5.1(アイゼンシュタインの補題)✓

pp を奇素数、h=(p−1)/2h=(p-1)/2、aa を p∤ap\nmid a なる奇数とする。このとき

(ap)=(−1)S(a,p),S(a,p)=∑j=1h⌊jap⌋.\left(\frac ap\right)=(-1)^{S(a,p)},\qquad S(a,p)=\sum_{j=1}^h\left\lfloor\frac{ja}p\right\rfloor.
証明(補題 5.1)

補題 4.1 の記号を使う。ja=p⌊ja/p⌋+rjja=p\lfloor ja/p\rfloor+r_j を j=1,…,hj=1,\ldots,h で足すと

a∑j=1hj=p S(a,p)+∑j=1hrj.a\sum_{j=1}^hj=p\,S(a,p)+\sum_{j=1}^hr_j.

rjr_j を、小さいもの(rj=sjr_j=s_j)と大きいもの(rj=p−sjr_j=p-s_j、μ\mu 個)に分けると、∑rj=∑jsj+μp−2∑大sj\sum r_j=\sum_{j}s_j+\mu p-2\sum_{\text{大}}s_j。補題より ∑jsj=1+2+⋯+h=∑j=1hj\sum_js_j=1+2+\cdots+h=\sum_{j=1}^hj。これを代入して整理すると

(a−1)∑j=1hj=p S(a,p)+pμ−2∑大sj.(a-1)\sum_{j=1}^hj=p\,S(a,p)+p\mu-2\sum_{\text{大}}s_j.

aa は奇数なので左辺は偶数。右辺の最後の項も偶数、pp は奇数だから S(a,p)+μS(a,p)+\mu は偶数、すなわち μ≡S(a,p)(mod2)\mu\equiv S(a,p)\pmod2。ガウスの補題より (ap)=(−1)μ=(−1)S(a,p)\left(\frac ap\right)=(-1)^{\mu}=(-1)^{S(a,p)}。

次の補題は、床関数の和 S(q,p)S(q,p) と S(p,q)S(p,q) を、長方形の中の格子点(座標がどちらも整数の点)の個数として読み替えます。長方形の対角線に当たる直線 py=qxpy=qx で点を上下に分けると、下側の点が S(q,p)S(q,p) 個、上側の点が S(p,q)S(p,q) 個になり、合計は長方形全体の点の個数です。下の図で p=11p=11, q=7q=7 の場合を確かめられます。

補題 5.2(格子点の数え上げ)✓

p,qp,q を相異なる奇素数、hp=(p−1)/2h_p=(p-1)/2, hq=(q−1)/2h_q=(q-1)/2 とすると、

S(q,p)+S(p,q)=∑x=1hp⌊qxp⌋+∑y=1hq⌊pyq⌋=hphq=p−12⋅q−12.S(q,p)+S(p,q)=\sum_{x=1}^{h_p}\left\lfloor\frac{qx}p\right\rfloor+\sum_{y=1}^{h_q}\left\lfloor\frac{py}q\right\rfloor=h_ph_q=\frac{p-1}2\cdot\frac{q-1}2.
証明(補題 5.2)

長方形の格子点の集合 R={(x,y)∈Z2∣1≤x≤hp, 1≤y≤hq}R=\{(x,y)\in\mathbb{Z}^2\mid1\le x\le h_p,\ 1\le y\le h_q\} の個数は hphqh_ph_q。直線 py=qxpy=qx 上に RR の点はない:py=qxpy=qx とすると p∣qxp\mid qx で、p∤qp\nmid q だからユークリッドの補題により p∣xp\mid x、しかし 1≤x≤hp<p1\le x\le h_p<p に反する。したがって RR の各点は py<qxpy<qx(直線の下)か py>qxpy>qx(上)のどちらか一方にだけ属する。

下側の点の個数:xx を固定すると、1≤y<qx/p1\le y<qx/p を満たす整数 yy の個数は ⌊qx/p⌋\lfloor qx/p\rfloor(qx/pqx/p は整数でない)。このとき y≤hqy\le h_q が自動的に満たされる:x≤hpx\le h_p より qx/p<q/2qx/p<q/2 なので y<q/2y<q/2、整数だから y≤hqy\le h_q。和は S(q,p)S(q,p)。

上側の点の個数:yy を固定すると、1≤x<py/q1\le x<py/q を満たす整数 xx の個数は ⌊py/q⌋\lfloor py/q\rfloor(py/qpy/q は整数でない)で、同様に x≤hpx\le h_p が自動的に満たされる。和は S(p,q)S(p,q)。

下側と上側の点で RR が分割されるので S(q,p)+S(p,q)=∣R∣=hphqS(q,p)+S(p,q)=|R|=h_ph_q。

12345123x
p = 11, q = 7。長方形 1 ≤ x ≤ 5, 1 ≤ y ≤ 3 の 15 個の格子点は、直線 y = 7x/11 の下側(塗りつぶし)に 7 個、上側(白抜き)に 8 個。

下側の点の個数は x=1,…,5x=1,\ldots,5 について ⌊7x/11⌋=0,1,1,2,3\lfloor7x/11\rfloor=0,1,1,2,3 の和で S(7,11)=7S(7,11)=7、上側は y=1,2,3y=1,2,3 について ⌊11y/7⌋=1,3,4\lfloor11y/7\rfloor=1,3,4 の和で S(11,7)=8S(11,7)=8。合計 15=5⋅315=5\cdot3 です。

定理 5.3(平方剰余の相互法則(ガウス))✓

p,qp,q を相異なる奇素数とする。

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

すなわち、p≡1p\equiv1 または q≡1(mod4)q\equiv1\pmod4 なら (pq)=(qp)\left(\frac pq\right)=\left(\frac qp\right)、p≡q≡3(mod4)p\equiv q\equiv3\pmod4 なら (pq)=−(qp)\left(\frac pq\right)=-\left(\frac qp\right)。

証明(定理 5.3)

qq は奇数で p∤qp\nmid q なので、補題 5.1 を (a,p)=(q,p)(a,p)=(q,p) に使って (qp)=(−1)S(q,p)\left(\frac qp\right)=(-1)^{S(q,p)}。同様に (a,p)=(p,q)(a,p)=(p,q) で (pq)=(−1)S(p,q)\left(\frac pq\right)=(-1)^{S(p,q)}。補題 5.2 により

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

後半は、p−12⋅q−12\frac{p-1}2\cdot\frac{q-1}2 が奇数であるのは p−12,q−12\frac{p-1}2,\frac{q-1}2 がともに奇数、すなわち p≡q≡3(mod4)p\equiv q\equiv3\pmod4 のとき、かつそのときに限ることから従う。

相互法則とルジャンドル記号の性質(系 3.4, 命題 4.3)をあわせると、(ap)\left(\frac ap\right) を機械的に計算できます。aa を素因数分解して積に分け、各素因数 ℓ\ell について (ℓp)\left(\frac\ell p\right) を相互法則で (pℓ)\left(\frac p\ell\right) に反転し、pp を ℓ\ell で割った余りに置き換えます。ℓ\ell が小さいので計算が減ります。

例 5.4((30/61) の計算)

30=2⋅3⋅530=2\cdot3\cdot5。61≡5(mod8)61\equiv5\pmod8 なので 命題 4.3 より (261)=−1\left(\frac2{61}\right)=-1。61≡1(mod4)61\equiv1\pmod4 なので相互法則から (361)=(613)=(13)=1\left(\frac3{61}\right)=\left(\frac{61}3\right)=\left(\frac13\right)=1、(561)=(615)=(15)=1\left(\frac5{61}\right)=\left(\frac{61}5\right)=\left(\frac15\right)=1。積は −1-1。よって 3030 は 6161 を法とする平方非剰余。

例 5.5(3 が平方剰余になる素数)

p>3p>3 を素数とする。定理 5.3 で q=3q=3 とすると (3p)(p3)=(−1)(p−1)/2\left(\frac3p\right)\left(\frac p3\right)=(-1)^{(p-1)/2}。pp を 1212 で割った余りで分けて、

  • p≡1p\equiv1: (p3)=(13)=1\left(\frac p3\right)=\left(\frac13\right)=1、符号 (−1)偶=+1(-1)^{\text{偶}}=+1 なので (3p)=1\left(\frac3p\right)=1。
  • p≡5p\equiv5: (p3)=(23)=−1\left(\frac p3\right)=\left(\frac23\right)=-1(22 は 33 の平方非剰余)、符号 +1+1 なので (3p)=−1\left(\frac3p\right)=-1。
  • p≡7p\equiv7: (p3)=(13)=1\left(\frac p3\right)=\left(\frac13\right)=1、符号 −1-1 なので (3p)=−1\left(\frac3p\right)=-1。
  • p≡11p\equiv11: (p3)=(23)=−1\left(\frac p3\right)=\left(\frac23\right)=-1、符号 −1-1 なので (3p)=1\left(\frac3p\right)=1。

すなわち 33 が pp を法とする平方剰余となるのは p≡±1(mod12)p\equiv\pm1\pmod{12} のとき。例えば p=13p=13 で 42=16≡34^2=16\equiv3。

例 5.6(合成数を法とする二次合同式)

x2≡a(modpq)x^2\equiv a\pmod{pq}(相異なる奇素数 p,qp,q、p,q∤ap,q\nmid a)の解は、中国剰余定理(命題 6.6[整除と素因数分解])により、x2≡a (p)x^2\equiv a\ (p) と x2≡a (q)x^2\equiv a\ (q) の解の個数の積。それぞれ 1+(ap)1+\left(\frac ap\right), 1+(aq)1+\left(\frac aq\right) 個(±\pm の二つか、なし)なので、解の個数は (1+(ap))(1+(aq))∈{0,4}\left(1+\left(\frac ap\right)\right)\left(1+\left(\frac aq\right)\right)\in\{0,4\}。例えば x2≡2(mod7⋅17)x^2\equiv2\pmod{7\cdot17}:(27)=(217)=1\left(\frac27\right)=\left(\frac2{17}\right)=1 なので 4 個の解がある(32=9≡2 (7)3^2=9\equiv2\ (7)、62=36≡2 (17)6^2=36\equiv2\ (17))。

注意 5.7(ヤコビ記号)

合成数 n=ℓ1⋯ℓrn=\ell_1\cdots\ell_r(奇数)に対し、(an)=∏i(aℓi)\left(\frac an\right)=\prod_i\left(\frac a{\ell_i}\right) とおいたものをヤコビ記号といい、素因数分解せずに互除法と同じ要領で計算できます(相互法則の拡張が成り立つ)。ただし (an)=1\left(\frac an\right)=1 でも aa が平方剰余とは限らないことに注意が必要です。この拡張は証明を省略します。

演習 6.1易

p=17p=17 を法とする原始根を一つ見つけ、位数が 44 の元をすべて挙げよ。

解答

33 をべきで調べる:31,32,34,38=3,9,81≡13,132=169≡16≡−13^1,3^2,3^4,3^8=3,9,81\equiv13,13^2=169\equiv16\equiv-1。316≡13^{16}\equiv1 で、位数は 1616 の約数。38≡−1≠13^8\equiv-1\ne1 なので位数は 1616。よって 33 は原始根。位数 44 の元は 3j3^j (gcd⁡(j,16)=4\gcd(j,16)=4、すなわち j=4,12j=4,12):34≡133^4\equiv13, 312=38⋅34≡−13≡43^{12}=3^8\cdot3^4\equiv-13\equiv4。位数 44 の元は 44 と 1313(実際 42=16≡−14^2=16\equiv-1)。

演習 6.2標準

55 は 9797 を法とする平方剰余か。また、x2≡−1(mod97)x^2\equiv-1\pmod{97} を解け。

解答

97≡1(mod4)97\equiv1\pmod4 なので相互法則から (597)=(975)=(25)=−1\left(\frac5{97}\right)=\left(\frac{97}5\right)=\left(\frac25\right)=-1(97≡2(mod5)97\equiv2\pmod5、5≡5(mod8)5\equiv5\pmod8)。平方非剰余。−1-1 は 97≡1(mod4)97\equiv1\pmod4 なので平方剰余 (系 3.4(3))。解を探すには、97=81+16=92+4297=81+16=9^2+4^2 から 92≡−429^2\equiv-4^2、(9⋅4−1)2≡−1(9\cdot4^{-1})^2\equiv-1。4−1≡734^{-1}\equiv73 (4⋅73=292=3⋅97+14\cdot73=292=3\cdot97+1)、9⋅73=657=6⋅97+759\cdot73=657=6\cdot97+75 で x≡±75≡±22x\equiv\pm75\equiv\pm22。確認:222=484=4⋅97+96≡−122^2=484=4\cdot97+96\equiv-1 ✓。

演習 6.3標準

4k+14k+1 の形の素数は無限に存在することを、平方剰余を用いて示せ。

解答

有限個の素数 p1,…,pr≡1(mod4)p_1,\ldots,p_r\equiv1\pmod4 があるとして、N=(2p1⋯pr)2+1N=(2p_1\cdots p_r)^2+1 をとる。NN は奇数で N>1N>1。qq を NN の素因数とすると qq は奇素数で、(2p1⋯pr)2≡−1(modq)(2p_1\cdots p_r)^2\equiv-1\pmod q。よって −1-1 は qq を法とする平方剰余で、系 3.4(3) から q≡1(mod4)q\equiv1\pmod4。もし q=piq=p_i なら q∣(2p1⋯pr)2q\mid(2p_1\cdots p_r)^2 と q∣Nq\mid N から q∣1q\mid1 となり矛盾。したがって qq は新しい 4k+14k+1 型の素数で、仮定に反する。

演習 6.4難

素数 p≡1(mod4)p\equiv1\pmod4 について、pp を法とする平方剰余 aa(1≤a≤p−11\le a\le p-1)の総和は p(p−1)/4p(p-1)/4 であることを示せ。(−1-1 が平方剰余であることを使う。)

解答

p≡1(mod4)p\equiv1\pmod4 なので −1-1 は平方剰余 (系 3.4(3))。a∈{1,…,p−1}a\in\{1,\ldots,p-1\} が平方剰余なら p−a≡−ap-a\equiv-a も平方剰余(積の性質 (1))。a↦p−aa\mapsto p-a は平方剰余の集合の上の対合で、不動点(a=p−aa=p-a)は pp が奇数なのでない。したがって平方剰余は和が pp の対 {a,p−a}\{a,p-a\} に分かれ、系 3.4(5) の (p−1)/2(p-1)/2 個から対が (p−1)/4(p-1)/4 組できる。総和は p(p−1)/4p(p-1)/4。

  • C. F. Gauss, Disquisitiones Arithmeticae, 1801(英訳: Springer, 1986)— 第 4 節(二次の合同式)。相互法則の第 1 証明と補充法則。
  • 高木貞治『初等整数論講義』第 2 版、共立出版、1971 — 第 3 章(原始根、二次剰余)。
  • G. H. Hardy and E. M. Wright, An Introduction to the Theory of Numbers, 6th ed., Oxford University Press, 2008 — 第 6 章(平方剰余の相互法則)。
  • K. Ireland and M. Rosen, A Classical Introduction to Modern Number Theory, 2nd ed., Springer GTM 84, 1990 — 第 4 章、第 5 章(二次の相互法則)。
  • G. Eisenstein, “Geometrischer Beweis des Fundamentalsatzes für die quadratischen Reste”, Journal für die reine und angewandte Mathematik 28 (1844), 246–248.

このテーマの 100 本ノック(50 問)

執筆: Claude Code(Sonnet 5.5)・監査 2 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。