2017 年度数学特別セミナー
有限体上の方程式を通して見る現代整数論(Modern number theory from the viewpoint of equations on finite fields)
述: 三枝 洋一 ∗/ 記: 穂坂 秀昭 †2019 年 7 月

概要
開成学園では毎年，現役の数学者に講演していただく「数学特別セミナー」を開催しています．2017 年
度は東京大学大学院数理科学研究科の三枝洋一先生をお招きし，「有限体上の方程式を通して見る現代整数論」というテーマでセミナーをしていただきました．このノートは，その講演の内容をまとめたものです．
なお脚注，参考文献及び演習問題解答はいずれも穂坂が付け足したものです．三枝先生にお話していただ
いた内容は全て本文中に含めています．

目次
0

今回のセミナーの内容

2

1

準備: 有限体 Fp22

Fp で方程式を考えよう！

4

2.1

1 次方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42.2

2 次方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.3

3 次方程式における 2 つのタイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92.4

2 つの方程式のタイプの違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.5

x3 − 2 = 0 の解の個数を記述する無限積 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.6

保型形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

133保型形式の限界，そして…

17

4

練習問題の解答

18

5

参考文献

20

∗ 東京大学大学院 数理科学研究科 准教授† 開成中学校・高等学校 数学科 教諭

1

0 今回のセミナーの内容
皆さんが方程式を考えるときには，実数や複素数の範囲で解を探すことがほとんどだと思いますが，今回は，素数 p を固定して，整数を p で割った余りのみに注目する世界（「有限体」という名前が付いています）で方程式を考えてみたいと思います．例えば 2 次方程式 x2 = 3 は，2 乗して p で割ると余りが 3 になるような整数 x を探す問題となりますが，この種の問題についてはガウスによる 200 年以上も前の研究があり，「平方剰余の相互法則」という美しい結果が知られています．その一方で，方程式の形を少し変更すると，問題も一気に難しくなり，現在においても魅力あるテーマとして盛んに研究が行われています．
今回のセミナーでは，平方剰余の相互法則等の古典的な話題から始めて，有限体上の方程式について最近ようやく分かってきたこと，今でも分かっていないことなど，現代整数論の最前線の様子をお伝えすることを目標としたいと思います．できるだけ平易な説明を心がけるつもりですので，予備知識は初等整数論の初歩（素数とは何か，素因数分解など）のみで十分だと思います．複素数範囲での方程式（2 次方程式や 3 次方程式など）を解いた経験があると話が聞きやすいかもしれません．

1 準備: 有限体 Fp
まず，今回のテーマに登場する有限体と呼ばれるものが何であるか，説明しましょう．
今回の話を通して，p は常に素数（たとえば 2, 3, 5, 7, . . .）を表すとします．素数 p を 1 つ固定し，有限体を定義します．これは，集合としては Fp = {0, 1, 2, . . . , p − 1} という数の集まりです*1 ．ただし Fp は単なる集合というだけでなく，その中で +, −, × という計算ができます．どうするかというと，整数だと思って計算して，その後 p で割った余りを取れば良いのです．整数として計算すると 0, 1, . . . , p − 1 の範囲に収まらな
いかもしれませんが，p で割った余りを取れば，再び Fp の範囲に入ります．

例 1. p = 5 として，F5 という数の世界で計算を考えます．F5 = {0, 1, 2, 3, 4} 内で (3 + 4) × 3 を求めてみましょう．普通に整数として計算すると 3 + 4 = 7 ですが，これは F5 からはみ出てしまうので，5 で割った余りを取ります．そうすると 3 + 4 = 2 となるので，(3 + 4) × 3 = 2 × 3 = 6 となります．すると
また F5 からはみ出てしまうので，再び余りを取って 1 にします．このようにして(3 + 4) × 3 = 7 × 3 = 2 × 3 = 6 = 1が得られます．なお，今の計算では途中で 2 回余りを取りましたが，最後にまとめて余りを取って(3 + 4) × 3 = 21 = 1 としても結果は同じです．一般に，余りを取るのは好きなタイミングで構いません（このことは，もちろん証明を要します）．
ところで 2 × 3 = 1 という式は，見方を変えると “2 = 1 ÷ 3” とも見えます．すなわち，割り算ができているのです．

*1 有限体を表すときは，普通にアルファベットを使って Fp と書くのではなく，太字の F を使って Fp と書くことがしばしばあります．これは有理数，実数，複素数全体の集合をそれぞれ Q, R, C と表すのと同じ慣習です．

2

一般に Fp では，0 でない元（要素）による割り算*2 もできます．正確に述べると，a, b ∈ Fp かつ a ̸= 0 な
らば，ax = b となる x ∈ Fp が唯一存在します．実は，ここで「p が素数」という仮定が効いています．その理由を説明しましょう．
証明 a と b を固定して，a を何倍かしたら b になることをいう．

a の元に Fp のそれぞれの元をかけて a · 0, a · 1, . . . , a · (p − 1) を考える．a · 0 = 0 と a · 1 = a は分かるが，他の元がどうなるかは分からない．ただ，これらは相異なる Fp の元である．なぜなら同じ数が現れる，すなわち 0 ≤ i < j ≤ p − 1 に対し Fp の中で a · i = a · j が成り立ったとすると，整数の中で a · i と

a · j を p で割った余りは同じである．すなわち整数として a · j − a · i = a(j − i) は p の倍数である．p は素数なので，a か j − i は p の倍数である．
（もし p が素数でない，たとえば p = 4 の場合，a と j − i が 2 の倍数であれば，それぞれが 4 の倍数でなくても a(j − i) が 4 の倍数になったりする）．一方 1 ≤ a ≤ p − 1
かつ 1 ≤ j − i ≤ p − 1 なので，a と j − i のどちらも p の倍数でない．これは矛盾である．
したがって a · 0, a · 1, . . . , a · (p − 1) という p 個の数が全て異なることが分かり，a · 0, a · 1, . . . , a · (p − 1)
は 0, 1, . . . , p − 1 の並び替えになっている．特に ax = b となる x が唯一存在する．

■注意

この証明からは，もう少し詳しい事実を導き出せます．

a · 0, a · 1, . . . , a(p − 1) は 0, 1, . . . , p − 1 の並び替えでしたが，a · 0 = 0 となっています．よって
a · 1, a · 2, . . . , a(p − 1) は 1, 2, . . . , p − 1 の並び替えなので，Fp で()(a · 1) × (a · 2) × · · · × a(p − 1) = 1 · 2 · · · · · (p − 1)(∗)

です．この右辺に現れる数はいずれも p の倍数でないから，この値は Fp において 0 ではありません．

()

一方，等式 (∗) の左辺から a を全てくくり出すと (a · 1) × (a · 2) × a(p − 1) = ap−1 1 · 2 · · · · · (p − 1) にな
ります．すなわち（∗ の左辺）= ap−1 ×（∗ の右辺）だから，（∗ の右辺）= ap−1（∗ の右辺）です．等式 (∗) の
右辺が 0 でないことに注意すると，両辺割り算して ap−1 = 1 を得ます．
この結果は Fermat の小定理と呼ばれています*3 ．普通の整数では，何乗かして 1 になる数は ±1 の 2 つしかありません．しかし Fp では，0 でないどんな数も p − 1 乗したら 1 になるという際立った性質があるのです．
話を元に戻し，割り算の計算例を見てみましょう．

例 2. 先ほどと同じ F5 内で 3 ÷ 4 をやってみます．整数の世界では 3 ÷ 4 はできませんが，F5 の世界ではこれができます．これを行うには 3 を，5 で割った余りが同じであるような 4 の倍数に置き換えます．
そうすると 3 ÷ 4 = 8 ÷ 4 = 2 となります．また Fermat の小定理を使えば 44 = 45−1 = 1 が分かりますから，3 ÷ 4 = 3 × 44 ÷ 4 = 3 × 43 = 192 = 2 として求めることもできます．

このように，証明は別として，Fp での計算は決して難しくありません．コンピュータがあれば，計算はな
お容易にできるでしょう．
*2 ここでいう「割り算」は，整数における「商と余り」による割り算ではなく，割り切るような割り算のことを指します．
*3 後で登場する Fermat 予想・Fermat–Wiles の定理が「大定理」なので，それと比べて「小定理」と呼ばれます．

3

2 Fp で方程式を考えよう！
これで今回のテーマを話す舞台が整ったので，紹介しましょう．今回のテーマは「Fp で方程式を考えよう！」です．普段の数学の授業で方程式を解くときは，解の範囲は実数だったり複素数だったり整数だったりです．これを Fp にしたらどうなるか，ということを考えてみたいと思います．

2.1 1 次方程式
方程式には 1 次方程式，2 次方程式，3 次方程式その他諸々色々なものがありますが，一番簡単な 1 次方程式を最初に考えてみましょう．1 次方程式の場合，解き方は普通と全く同じです．

例 3. p = 7 の場合．F7 で 3x + 5 = 0 とすると，3x = −5 です．F7 の中で −5 = 2 = 9 であることを使うと，3x = 9 となります．よって x = 3 が解です．

このポイントは Fp で四則演算ができることです．整数の範囲では一般に割り算ができませんが，Fp の範囲
では割り算ができ，これが解を求めるときに役立っています．ちなみに，このことを指して Fp は体であるといいます．

2.2 2 次方程式
次に 2 次方程式を考えてみましょう．p ̸= 2 としておきます．なぜこの仮定を設けるかは，すぐに分かります．

ax2 + bx + c = 0 (a ̸= 0) とすると，平方完成により
(
b2
b )2
a x+
=
−c
2a
4a

(
b )2
b2 − 4ac
∴ x+
=
2a
4a2

となります．この変形自体は，普通に 2 次方程式を解くときと同じです．ただし p ̸= 2 としたことにより，2で割り算が出来ることに注意しましょう．もし p = 2 だと F2 で 2 = 0 となってしまうので，

b
という項が
2a

0 での割り算になってしまいます．このように有限体の世界の話では，2 という数が現れるときに注意しなけ
ればいけないのです．興味があれば，p = 2 の場合にどうなるかを考えてみると良いでしょう．

√

さて p ̸= 2 という条件のもと，2 次方程式では「が取れるか」すなわち x2 = a という形が本質的な問題であることが分かります．いくつかの場合に解いてみましょう．
■方程式 x2 = 1

x2 = 1 とすると 0 = x2 − 1 = (x − 1)(x + 1) より x = ±1 です．ゆえに，解は常に 2 つあります．（ただし p = 2 のときは 1 = −1 なので，解が 1 つになってしまいます．
）このように因数分解して解を見つける方法は，Fp の場合でもいつも通り使えます．が，新しさはありません．
■方程式 x2 = −1 （ここで，−1 は Fp における p − 1 のことです．）この方程式は，実数の範囲では解を持っていませんでしたが，Fp だとどうなるでしょうか？ p ̸= 2 としたので，その次に簡単な F3 と F5 でやってみます．元が有限個しかないので，全部並べて表を書いてみれば解けます．

4例 4. F3 では 02 = 0, 12 = 1, 22 = 4 = −1 でした．そして F3 では −1 = 2 であり，表の中に 2 が出てこないから，方程式 x2 = −1 は解なしです．

x

0

1

2

x2

0

1

1

一方 F5 でも表を書いてみると，02 = 0, 12 = 1, 22 = 4, 32 = 9 = 4, 42 = 16 = 1 となります．F5 で−1 = 4 だから，解は x = 2, 3 の 2 つです．
x

0

1

2

3

4

2

0

1

4

4

1

x

ちなみに，この表が x = 0 の列を除いて左右対称になるのは，ある意味当たり前です．1 = −4, 3 = −2だから，1 と 4, 3 と 2 はそれぞれ，2 乗すると同じになってしまいます．

このように実数の範囲で解けなかった方程式 x2 = −1 は，素数 p の値によって Fp での解があったりなかったりします．p = 3 では解がなく，p = 5 では解があります．これが p = 7 だとどうなるでしょうか？あるいは p = 65537 ではどうでしょうか*4 ？さらに最近，大きい素数が見つかったという話*5 がありますが，その場合どうでしょうか？いくら有限とはいえ，ものすごく大きい p に対して今のような表を作るのは不可能です．
しかし実は，次のような簡単な判定条件があります．

定理 5 (平方剰余の第 1 補充則). p ̸= 2 のとき，x2 = −1 となる x ∈ Fp の個数は，p を 4 で割った余りで判別できる．p ̸= 2 なので，p を 4 で割った余りは 1 または 3 であり，

• p を 4 で割って 1 余るとき，x2 = −1 の Fp における解は 2 個である．
• p を 4 で割って 3 余るとき，x2 = −1 の Fp における解は 0 個である．

さっき考えた例の場合に，定理はとうなっているでしょうか．

例 6. p = 3 と p = 5 の場合では，確かに定理が成り立っています．

• p = 3 は 4 で割って 3 余る数であり，F3 における方程式 x2 = −1 の解は 0 個になっています．
• p = 5 は 4 で割って 1 余る数であり，F5 における方程式 x2 = −1 の解は 2 個になっています．

*4 これは割と有名な素数です．一般に 22n+ 1 の形の自然数は Fermat 数と呼ばれ，その中でも特に素数である Fermat 数はFermat 素数と呼ばれています．そして知られている Fermat 素数の中で一番大きいものが 65537 です．ちなみに，知られている Fermat 素数の残りは 3, 5, 17, 257 の 4 つです．
*5 本セミナーに先立つ 2018/1/3, GIMPS (Great Internet Mersenne Prime Search) プロジェクトが「知られている最大の素数」として 277232917 − 1 を発表しました．これは 2324 万 9418 桁の数です．
https://www.mersenne.org/primes/press/M77232917.html

5この定理の証明はすごく色々知られていますが，そのうちの 1 つを紹介します．Fp では p 個しか数がありませんが，今から行う証明では，これより広い数の範囲を考えます．
このような考え方は，実数に対しても行うものです．実数係数の場合，2 次方程式が解を持たないことがありました．たとえば x2 = −1 です．こういうとき，数学では，解が存在するように数の範囲を広げてきました．今の例では x2 = −1 が解を持つように複素数を導入することが，この操作に当たります．そして 3 次方
程式や 4 次方程式が解を持たなければさらに数の範囲を広げることになるのですが，幸運なことに複素数の範囲では全ての n 次方程式が解を持つことが知られており，複素数より数の範囲を広げる必要はありません（ちなみに，この事実を代数学の基本定理といいます）．
これと同じことを Fp で考えます．Fp を含み，かつその中で全ての n 次方程式が解を持つような「数」の集
合 Ωp が存在します*6 ．有限体の世界においても，複素数のような数があるのです．この事実を受け入れるのには少し抵抗があるかもしれませんが，それは複素数の「2 乗すると −1 になる数」を受け入れることと同じです．実際の証明は，大学に入ったら学ぶことになるでしょう．
複素数は a + bi のように表せましたが，Ωp の数はどう表せるかよく分かりません．しかし，この問題には立ち入らないことにします．数学では，正体はよく分からなくても「存在する」という事実だけから色々なことが示せることがあります．今回もそのような議論になります．Ωp の存在を認めて先に進みましょう．
ただ，Ωp の性質はいくつか知っておく必要があります．

• Ωp では四則演算ができます．さっきの言葉を使うと「Ωp は体である」ということです．これは議論を進めるための最低条件ですが，もし商が取れなくても，その数の世界で分数を考えれば*7 済む話です．

• x, y ∈ Ωp に対し (x + y)p = xp + y p が成り立ちます．普通の計算で (x + y)2 = x2 + y 2 としたら当然間違いですが，Ωp では p 乗のときだけ，このような計算が許されます．この原理はそんなに難しくありません．たとえば p = 3 のとき，Ω3 は F3 を広げた世界なので，3 = 0 です．これより(x + y)3 = x3 + 3x2 y + 3xy 2 + y 3 = x3 + y 3 となります*8 . 一般の p でも同じことです．二項定理を使えば，(x + y)p の xp−k y k (0 ≤ k ≤ p) の係数に p Ck が現れます．k ̸= 0, p である限り，この p Ck
が p の倍数になり，Fp では消えます．

• 最後に，拡大された Ωp と元の Fp との関係を捉えるための性質を述べます．x ∈ Ωp に対して，x ∈ Fpと xp = x が同値です．これは複素数の場合に「z = x + yi が実数である ⇐⇒ 共役複素数 z と z が一致する」ということの類似です．複素数の場合には，実数であるかは複素共役を取ると分かりました．

Ωp では，x ∈ Ωp が Fp に属しているかは，p 乗して元に戻るかを調べればよいのです．
最後の性質も簡単なので証明しておきましょう．もし難しければ，事実を認めて先に行っても構いません．
証明 x ∈ Fp とする．x = 0 なら xp = 0 = x である．また x ̸= 0 なら，Fermat の小定理より xp−1 = 1
である．よって xp = x · xp−1 = x · 1 = x である．
逆を示す．xp = x は p 次方程式なので，解は p 個以下である．一方いま計算したように，Fp の p 個の元は全て xp = x を満たす．よって p 次方程式 xp = x の解は Fp の元たちで尽くされている．

*6 この Ωp は，Fp の代数閉包と呼ばれています．より一般に，Fp の場合に限らずどんな体であっても「それを含む代数閉包」が存在するという，Steinitz の定理が知られています．
*7 整数に対して「分数」を考えると，有理数が作れました．四則演算のうち +, −, × の 3 つができ，かつ 0 でないもの同士の積が0 でないような数の範囲に対しては，それと同じことができます．こうして作られる数の体系は，元の数の商体と呼ばれます．
*8 x3 や y 3 の肩に現れる 3 は「かける個数」を表す自然数なので，Fp の元ではありません．注意してください．

6これらの性質を使って，定理の証明をしましょう．
定理の証明 方程式 x2 = −1 が Fp 内に解を持つかが問題ではあるが，少なくとも Ωp 内で見れば，解が存在する．その解 a を 1 つ取ると，a2 = −1 を満たすから

x2 = −1 ⇐⇒ x2 = a2 ⇐⇒ (x − a)(x + a) = 0 ⇐⇒ x = ±aである．よって x = ±a が，Ωp 内での方程式 x2 = −1 の解である．
こうすれば，残る問題はこれらの解 x = ±a が x ∈ Fp を満たすかどうかになる．そこで Fp と Ωp の関係を使い，ap = a かどうかを考える．a という数はよく分からないが，a2 = −1 は分かっている．そして

p − 1 が偶数であるから，

p−1は整数であり
2

p−1

p−1

p−1

ap = a2× 2 +1 = (a2 ) 2 × a = (−1) 2 ap−1
が偶数なら ap = a で，そうでないなら ap = −a である．すなわち p を 4 で割った2
p
余りが 1 なら a = a で，4 で割った余りが 3 なら ap = −a である．そしていま，a ̸= −a である．実際となる．よってa = −a とすると 2a = 0 となるが，p ̸= 2 より 2 ̸= 0 だから a = 0 となってしまう．これは a2 = −1 に矛
盾する．
以上より a ∈ Fp は，p を 4 で割ったとき 1 余ることと同値である．
ちょっと不思議な感じがしますが，Ωp という数の範囲や a という数のことが良く分からなくても，a という数の存在だけで証明ができてしまいました．物事を具体的に理解するのは大事なことですが，そうでないこともあるものです．
もう少し別の場合でも試してみましょう．
■方程式 x2 = 2

いくつかの p で実験してみても良いのですが，いきなり定理を書いてしまいましょう．

定理 7 (平方剰余の第 2 補充則). p ̸= 2 のとき，x2 = 2 となる x ∈ Fp は，p を 8 で割った余りが 1, 7 のとき 2 個，余りが 3, 5 のとき 0 個である．

さっきは 4 で割った余りを考えましたが，今度は 8 で割った余りを考えます．この違いが何故現れるのかを考えながら，証明を追ってみてください．これも，さっきと同様 Ωp で新しい数を考えることでできます．ちなみに p = 2 のときは方程式が x2 = 0 になるので，その解は x = 0 の 1 つだけです．
証明 a4 = −1 となる a ∈ Ωp を 1 つ取る．つまり a は，4 次方程式 x4 = −1 の解である．Ωp ではどんな方程式も解けるので，このような a が（正体はよく分からないが）取れる．今度は 2 乗して 2 になる−1のような数を作らなければいけない．そこで複素平面での考察をすると，a + a
かる．実際 a4 = −1 だから，

(a + a−1 )2 = a2 + 2 + a−2 =a4 + 1+2=2
a2となっている．よって方程式 x2 = 2 は，Ωp 内で 2 解 ±(a + a−1 ) を持つ．

7

√

2

を使えば良いことが分この解 a + a−1 が Fp の元かどうか，つまり (a + a−1 )p = a + a−1 かどうかを考える．ここで和の p乗が出てきたので，(a + a−1 )p = ap + a−p という計算ができる．また a4 = −1 だから a8 = 1 なので，

(a + a−1 )p は p を 8 で割った余りで決まっている．そして p を 8 で割った余りに応じて• 余りが 1 なら，ap = a より ap + a−p = a + a−1 .
• 余りが 3 なら，ap = a3 = a4 a−1 = −a−1 より ap + a−p = −a−1 − a = −(a + a−1 ).
• 余りが 5 なら，ap = a5 = a4 a = −a より ap + a−p = −a − a−1 = −(a + a−1 ).
• 余りが 7 なら，ap = a7 = a8 a−1 = a−1 より ap + a−p = a−1 + a = a + a−1 .
となる．故に x2 = 2 の解が Fp 内に存在するのは，p を 8 で割った余りが 1 または 7 の場合である．

■注意

これは複素平面で考えると，次のように作り方が分かります．実軸正の向きから単位円周上を正の向√√√√きに 45◦ 移動した点を ω =が得られます．

2+
2

2i

2−
2

とします．すると ω −1 =2iで，これを使うと ω + ω −1 =

√

2

Im
√

i
ω=

2+
2

√
−1

0

√

2i

2

Re

1
√
ω −1 =

−i

2−
2

√

2i

この ω は 2 乗すると ω 2 = i となるので，ω 4 = −1 となります．よって ω が，上の証明中における a と同じ役割を果たしているわけです*9 ．
より一般に，次の結果が知られています．これも，Gauss によって得られた結果です．

定理 8 ([Gauss 1801]). 整数 a に対し整数 N > 0 を上手く選ぶと，x2 = a となる x ∈ Fp の個数は p をN で割った余りで決まる．

かくして 2 次方程式がいつ解けるのかが，綺麗に分かりました．これを決定する具体的なアルゴリズムもあり，それは平方剰余の相互法則と呼ばれています．ここでは詳細は述べませんが，非常に面白い定理です．興
味がある人は調べてみてください．なお，いま行った議論は，平方剰余の相互法則を示すだけの力があります．平方剰余の相互法則の証明も，同様のアイデアでできます．
自分で練習してみたい人のために，1 つ問題を挙げておきます．x2 = −3 の Fp における解は，いつ存在す√るでしょうか？（ヒント: 何乗かして 1 になる数を用いて， −3 にあたるものを複素平面で作りましょう．）*9 Z に 4 乗して −1 になる数を付け加えた環 Z[x]/(x4 + 1) を考えると，x を −1 の原始 4 乗根に対応させることで，ここから自然に環準同型 Z[x]/(x4 + 1) → C と Z[x]/(x4 + 1) → Ωp が作れます．そして C は標数 0 だから，Z[x]/(x4 + 1) → C は単射で√す．よって 2 を表すような −1 の原始 4 乗根の整数係数多項式を C の中で作っておけば，C ← Z[x]/(x4 + 1) → Ωp という対応を通して，C で作った式が Ωp で同じ振る舞いを示すわけです．

8

2.3 3 次方程式における 2 つのタイプ
2 次方程式に関する Gauss の結果は 1800 年頃に得られていました．さらに一歩進んで，3 次方程式を考えてみましょう．ここでは 2 つの例を考えます．1 つは x3 − 3x + 1 = 0 で，もう 1 つは x3 − 2 = 0 です．一
見すると適当に選んだようにも感じられますが，なぜ 2 つの例を選んだかは，あとで説明します．実はこれら√
2 つの方程式は，かなり性格が異なっているのです．また 3 2 が x3 − 2 = 0 の実数解なのはすぐ分かります．
もう一つの方程式 x3 − 3x + 1 = 0 の意味も，後で明らかになります．
では，これらの方程式が Fp に解を持つかを調べていきましょう．
■x3 − 3x + 1 = 0

これは 2 次方程式の場合と似ていて，次の定理が成り立ちます．

定理 9. x3 − 3x + 1 = 0 となる x ∈ Fp は p = 2 のとき 0 個，p = 3 のとき 1 個で，p を 9 で割った余り
が 1, 8 のとき 3 個，2, 4, 5, 7 のとき 0 個である．

このように解の個数が，p = 2, p = 3 のときを例外として，p を 9 で割った余りで決まります．p を 9 で割った余りは 0 から 8 までですが，p が素数ですから，余りとして現れるのは 1, 2, 3, 4, 5, 7, 8 のいずれかです．さらに余りが 3 になるのは p = 3 のときに限ります．これで分類が完了していることが分かります．
証明のやり方は 2 次方程式のときとほとんど同じなので，ヒントだけ与えておきます． この方程式がどういう方程式なのかが問題で，ぱっと見ただけで解を見抜くのは難しいのですが，実は実数範囲で x3 − 3x + 1 = 0

2
9

4
9

8
9

の解は x = 2 cos π, 2 cos π, 2 cos π です．x を 2x で置き換えた 8x3 − 6x + 1 = 0 の方が，ピンとくる人がいるかもしれません．x に 2 cos θ を代入して 3 倍角の公式を使うと cos 3θ = −が得られます．

1になるので，そこから解2

これで，複素平面上で解を表せるようになります．1 を含むように単位円周を 9 等分する点を取り，1 に

2
9

2
9

2
9

隣り合う点を ζ := cos π + i sin π と置きます．そうすると ζ + ζ −1 = 2 cos π が解の 1 つになります．
これはさっきと似たパターンです．そして ζ は単位円周を 9 等分する点の 1 つだから，x9 − 1 = 0，つまり(x3 − 1)(x6 + x3 + 1) = 0 の解です．しかし ζ 3 ̸= 1 なので ζ 6 + ζ 3 + 1 = 0 が得られます．これを参考に
a6 + a3 + 1 = 0 となる a ∈ Ωp を取ると，x3 − 3x + 1 = 0 の Ωp での解は a + a−1 , a2 + a−2 , a4 + a−4 と分かります．これらが Fp の元になっているかを，今までと同様に調べれば良いわけです．p 乗したときの様子が分かりやすい数は，何乗かして 1 になるような数を用いて表せるもので，そうした表示が出来れば 2 次方程式のときと同様の議論ができます．興味のある人は，各自でやってみてください．
■x3 − 2 = 0

一方で，こちらの方程式は上手くいきません．実は x3 − 2 = 0 の Fp 内での解の個数は，pをある整数 N > 0 で割った余りでは決まらないことが知られています．
このように 3 次方程式では，Fp における解の個数が p を整数で割った余りで分かるときと分からないときがあります．すると自然に，次の問が出てきます．

• ケース 1 とケース 2 の違いは何故起こるのか？
• ケース 2 の場合に，解の個数を記述する方法はないのか？
これらの問題を，続けて考えてみましょう．ケース 2 はかなり意外な形をしていて，話の流れが変わります．

9

2.4 2 つの方程式のタイプの違い
因数分解できない整数係数の 3 次方程式 f (x) = 0 には 2 種類あります．先ほどの 1 番と 2 番を，それぞれ
タイプ 1，タイプ 2 と書きましょう．これらは何が違うのでしょうか？
タイプ 1

解の 1 つを α とすると，他の解が α の有理数係数多項式で書けるもの

タイプ 2

タイプ 1 以外

タイプ 1 の場合，3 つの解はある意味で緊密な関係にあります．
先ほどの例で確認してみます．α を x3 − 3x + 1 = 0 の解とすると，α2 − 2 も解になっています．何故かというと α = 2 cos θ ならば，α2 − 2 = 4 cos2 θ − 2 = 2 cos 2θ になるからです（もちろん，直に代入して計算しても分かります）．このように，1 つの解があれば別の解が作れます．これを繰り返して，x3 − 3x + 1 = 0 の解は α, α2 − 1, (α2 − 2)2 − 2 と分かります．これらの中に同じ物が現れないことはチェックする必要があり

29

ますが，それは α = 2 cos π などの表示を確かめれば分かります．

√√−1 ± 3i3
一方，x − 2 = 0 の 3 解は 2 と 2 ×です． 2 は実数解で，残り 2 つは虚数解です．よって
2√
α = 3 2 とすると，α の有理数係数多項式は実数なので，決して残り 2 つの解にはなりません．
3

√
3

√
3

一般に f (x) = 0 がタイプ 1 の場合には，次を満たす整数 N > 0 が存在します*10 ．

2π
2π+ i sinとすると，f (x) = 0 の解は，ζN の有理数係数多項式NN√
2 次方程式の例 x2 = 2 では， 2 = ζ8 + ζ8−1 = ζ8 + ζ87 を使いました．この類似がタイプ 1 では成り立つわ
ζN := cos

けです．したがってタイプ 1 では，先ほどと同じ証明を繰り返すことでさらに，f (x) = 0 の Fp 内での解の個数が p を N で割った余りで決まることも分かります．複素数の範囲で解を ζN の有理数係数多項式で表せば，それを参考にして Ωp 内での解を，何乗かして 1 になる元の多項式で表すことができます．それが Fp に入っているかどうかを p 乗して確かめれば良いのです．
今のは 3 次方程式の話でしたが，より次数が高い方程式に対してもタイプ 1 の類似が定義できます．タイプ

1 の類似の方程式は Abel 方程式と呼ばれ，これを定義するのに使う数学は Galois 理論と呼ばれています．
さらに Abel 方程式に対しても上で述べたこと，すなわち方程式の解がある特別な数の有理数係数多項式で表せることや，解の個数が p を適当な自然数 N で割った余りで判定できることが成り立ちます．こういうもの
は類体論と呼ばれます．これは 20 世紀前半の整数論の花形で，一つの大きな成果です．ここで述べたのは一般の類体論に比べて非常に簡単ではあるのですが，そうした内容も含めて 20 世紀前半に分かったことです．
ちなみに Galois 理論は，解の間にどれくらい関係があるかを定量的に考える理論です．たとえば 3 次方程式にも解の公式がありますが，なぜ解の公式があるのかについて，Galois 理論は答えてくれます．こういう立場に立つとタイプ 1, 2 は解の公式とも非常に深い関係があるのですが，ここではその話はしません．興味がある人は勉強してください．当時の Galois 理論は今の形とは大分異なってはいたのですが，Galois が決闘で死んだのは 1832 年なので，これは 19 世紀前半（平方剰余の相互法則が示された少し後）の数学です．

*10 これは有理数体 Q を含む体に対し「タイプ 1 の方程式が解ける最小の体（Abel 体）であることと，1 のとある冪乗根を Q に付け加えた体（円分体）に含まれることが同値」だと主張する Kronecker–Weber の定理の一部です．

10

2.5 x3 − 2 = 0 の解の個数を記述する無限積
基本的には「良い方程式に対しては，その Fp 内における解の個数が p を N で割った余りで決まる」というのが類体論です．ということは，x3 − 2 = 0 の Fp における解の個数が分からないことは類体論の限界を示しています．ここからはその限界を超えた話をしましょう．
解の個数が p を何かで割った余りで決まらない状況では，どのようにすれば良いのでしょうか？以下伝統的な理由で，いつも使っている x の代わりに文字 q を使います．非常に唐突ですが，次のような無限積を考え
ます．

q
この

∏

∞
∏

(1 − q 6n )(1 − q 18n )n=1で表しているのは，掛け算の記号です．上の式を∏記号なしで具体的に書けば

q(1 − q 6 )(1 − q 18 )(1 − q 12 )(1 − q 36 )(1 − q 18 )(1 − q 54 ) · · ·∑となります．

を知っている人は，その掛け算バージョンだと思ってください．こんな無限な掛け算をして良いのだろうかと思うのは当然ですが，1 個 n を止めて q n の係数を求めるのだと考えてみます，たとえば q 7の係数を求めるのだと考えてこの式を眺めると，2 つ目のかっこ以降に現れる q の冪乗は全て無視すれば良いと分かります．そうすれば有限回の計算でちゃんと，q 7 の係数が求まります．このようなことを考えます．
これを展開した結果を a1 q + a2 q 2 + a3 q 3 + · · · という無限和で表します．この式で数列 (an )∞n=1 を定めます．
このような計算に慣れていない人がほとんどだと思いますので，例をやってみましょう．

例 10. 次のような感じで，展開ができます．

• a1 を求めてみましょう．最初の q を除くと，残りの部分を展開して出てくるのは定数項 1 か q 6 以上の次数の項です．よって a1 = 1 です．

• 次に a2 を考えると，この式を展開して q 2 が出てくることはありません．よって a2 = 0 です．同様にして q 3 , q 4 , q 5 , q 6 も現れないので，a3 = a4 = a5 = a6 = 0 です．

• a7 はどうかというと，q(1 − q 6 ) = q − q 7 という展開で −q 7 が現れます．よって a7 = −1 です．
• かっこの中で q 6 の次に現れるのは q 12 ですから，a8 = a9 = a10 = a11 = a12 = 0 です．
• (1 − q 12 ) があるから，a13 = −1 です．
• q 12 の次に出てくるのは q 18 なので，a13 = a14 = a15 = a16 = a17 = a18 = 0 です．
• a19 は状況が変わります．展開して q 19 を作るわけですが，まず q と 1 − q 18 から −q 19 が 2 個作れ
る一方，これ以外にも (1 − q 6 ) と (1 − q 12 ) から q 18 が作れます．よって a19 = (−1) × 2 + 1 = −1と分かります．

この展開と元の問題との間にどういう関係があるかというと，次の定理が成り立ちます．

定理 11. p ̸= 2, 3 のとき，方程式 x3 − 2 = 0 の Fp 内での解の個数は 1 + ap である．

11

ここから特に，ap は −1, 0, 2 のいずれかであることが従います．実際 3 次方程式の解は高々 3 個ですか
ら，1 + ap = 0, 1, 2, 3 です．そして解の個数が 2 になるのは重解を持つケースですが，方程式 x3 − 2 = 0 は

p ̸= 2, 3 のとき重解を持ちません．そうすると 1 + ap は 0, 1, 3 のいずれかで，ap = −1, 0, 2 のどれかが必ず成り立ちます．
結局このことから，謎の無限積 q∞∏(1 − q 6n )(1 − q 18n ) における素数次の項の係数には −1, 0, 2 のいずれn=1

かしか現れないことが分かります．この事実はおそらく，初等的にパズルで示すのは不可能だと思われます．
そしてさらに，その係数が方程式 x3 − 2 = 0 の解の個数を知っているというのです．
にわかには信じられないので，例を計算してみましょう．

例 12. p = 2, 3 は例外なので，一番簡単な場合は p = 5 です．最初にやったように表を書いてみます．

F5 で 03 = 0, 13 = 1, 23 = 8 = 3, 33 = 27 = 2, 43 = 64 = 4 です．3 乗して 2 になる数は 3 だけなので，方程式 x3 = 2 の解は 1 個です．かたや先ほどの展開で，1 + a5 = 1 + 0 = 1 でした．

x

0

1

2

3

4

3

0

1

3

2

4

x

次に簡単なのは p = 7 の場合です．F7 で 03 = 0, 13 = 1, 23 = 8 = 1, 33 = 27 = 6, 43 = 64 = 1,

53 = 125 = 6, 63 = (−1)3 = −1 = 6 です．3 乗して 2 になる数はないから，方程式 x3 − 2 = 0 は F7 で解を持ちません．かたや a7 = −1 でしたから，1 + a7 = 1 − 1 = 0 となり，確かに 1 + a7 が解の個数と一致しています．

x

0

1

2

3

4

5

6

3

0

1

1

6

1

6

6

x

今挙げたのは解が 0 個か 1 個でしたから，解が 3 つある場合も気になります．ただ，この場合は p がかなり大きくなり，一番簡単な場合でも p = 31 になってしまいます．予め計算した答えを言うと，F31 で43 = 64 = 2, 73 = 49 × 7 = 18 × 7 = 126 = 2, 203 = 43 × 53 = 2 × 125 = 2 × 1 = 2 と分かります．かくして F31 で方程式 x3 − 2 = 0 の解は 3 つあるので，1 + a31 = 3, つまり a31 = 2 となっているはずです．これを確かめるには，無限積の中から q の冪が 30 乗以下であるような項だけを集めてきて（すなわち，次の波線部を無視して）(1 − q 6 )(1 − q 18 )(1 − q 12 )(1 − q 36 )(1 − q 18 )(1 − q 54 )(1 − q 24 )(1 − q 72 )(1 − q 30 )(1 − q 90 ) · · ·::::::::::::::::::::::::::::= (1 − q )(1 − q )(1 − q )(1 − q )(1 − q )(1 − q ) · · ·
6

18

12

18

24

30

における q 30 の係数を求める必要があります．次数の組合せは 30, 6 + 24, 12 + 18 の 3 通りです．それぞれの係数がどうなるかというと，q 30 単独では −1, q 6 × q 24 では (−1) × (−1) = 1, q 12 × q 18 では(−1) × (−1) = 1 が 2 つで 2 です．足すと −1 + 1 + 2 = 2 となっています．

これはかなりすごい事実だと思います．いかがでしょうか？

12

2.6 保型形式
このように解の個数を無限積を用いて表してみたわけですが，この無限積の正体が分からないと，現象が分かった気がしません．そこで無限積の正体を説明します．少々難しいので，もしかしたら知らない事が出てくるかもしれません．というのも，複素数の関数が出てくるからです．しかし説明しないわけにもいきません．
複素数 z = x + yi (y > 0) に対し（少々苦しいですが）q = e2πiz とおきます．ここで e = 2.71828 · · ·は自然対数の底と呼ばれる，数学で非常に大事な定数です．この肩に複素数を乗せていいのかという話ですが，これは指数法則で計算して肩をばらすと e2πiz = e2πix e−2πy になります．ここで Euler の公式というものを使うと e2πiz = (cos 2πx + i sin 2πx)e−2πy となります．大事なのは指数法則が成り立つことと，

e2πix = cos 2πx + i sin 2πx という式です．eπi = −1 という式がありますが，それはこの式に x =すると得られます．

1
を代入
2

ちなみに指数関数と三角関数は，複素数の範囲で考えると同じものになります．三角関数 cos z, sin z は 2回微分すると −1 が付くだけなので，微分しても変わらない指数関数と似ている感じがします．これが複素数の範囲で数学を考えると，本当に同じものになってしまいます*11 ．このような背景があって，普段はあまり

cos, sin を使わなかったりします．
さて先ほどの無限積では q はただの文字でしたが，これを q = e2πiz という式で複素関数と思うのが重要な視点です．こうして先ほどの無限積を複素関数と捉え直したとき，f (z) = q∞∏(1 − q 6n )(1 − q 18n ) は，次のn=1ように高い対称性を持っています．単に適当な項をかけただけではなく，非常に良い性質を示すのです．

定理 13. a, b, c, d を，ad − bc = 1 かつ a − 1, c, d − 1 が 108 の倍数となる整数とする*12 ．このとき(az + bf
cz + d)= (cz + d)f (z)(∗)

が成り立つ．

az + bで置き換えても，元とほとんど同じ形になるのです．唐突な式変形に見
cz + d
えるかもしれませんが，この 1 次分数変換という式は非常に由緒正しいものです．
つまり z を 1 次分数変換*13

ちなみに a, b, c, d は 4 つバラバラの数として扱うのではなく，

(
)
a b
c d
のように正方形状に並べると捉えやすくなります．こういうものを行列といいます．今は高校で習わないことになってしまいましたが，みなさんには，そういうことを考えず勉強して欲しいと思います．また定義に現れる ad − bc は行列式と呼ばれるものです．

*11 e2πiz = cos z + i sin z という式から e−2πiz = cos(−2πiz) + i sin(−2πiz) = cos 2πz − i sin 2πz が得られます．この 2 つのe2πiz + e−2πiz
e2πiz − e−2πiz

式を合わせて cos 2πz =2, sin 2πz =*12 要するに SL2 (Z) の特別な元を考えているわけです．

2iが得られます*13 分子・分母の両方が 1 次式であるような分数式による変換を 1 次分数変換といいます．

13

例 14.

(
a

b

)

(
=

1 1

)
の場合を考えます．この場合

az + b= z + 1 となります．よって式 (∗) は
cz + dc d
0 1
f (z + 1) = f (z)，すなわち f が周期関数であることを意味しています．ただ，この結果は無限積を見れば自明です．z を z + 1 に置き換えると，q(z) = e2πiz は q(z + 1) = e2πi(z+1) = e2πiz e2πi = e2πiz = q(z)となります．これと f (z) が q = q(z) の関数で表せていることから，周期性が従います．
ただ a, b, c, d は条件を満たす中で好きに選べるので，他の組合せを選べば，もっと非自明な式が現れます．それを 1 つ見てみましょう．左下の c は 108 の倍数でないといけないから 108 にしてみて，そう
すると
ad
( bが
) 0 でないと() − bc の計算が大変になるので b = 0 としてみます．あとは左上と右下を 1 にし
て

a

b

c

d
(
f

=

1

0

108

1

で考えましょう．このとき式 (∗) は)z= (108z + 1)f (z)108z + 1となります．ここで現れたz
は q の式で表すことができないので，この式を q の無限積を展開し
108z + 1

た形だけ見て示すことは非常に難しいです．この式は全く明らかではありません．

他にも色々な a, b, c, d の取り方がありますが，それらの全てに対して式 (∗) が成り立つわけです．これは非常に非自明ですが，証明することができます．

今現れた不思議な対称性*14 を持つ複素関数には，名前が付いています．定理中の性質を満たす f (z) を重さ

1，レベル 108 の保型形式といいます．本当は，保型形式にはもう少し条件がついていて，たとえばさっきの「q の式で書ける」といった内容が条件に入っています．他にも複素関数の意味での微分可能性なども課されます．ただ一番本質的なのは，先ほど現れた謎の対称性の式 (∗) です．ちなみに，1 次分数変換で式がそのまま保たれるわけではなくちょっと掛け算が生じるところが，保型関数ではなく保型形式と書かれる理由です．
またレベル 108 というとすごくレベルが高い感じがしますが，重さ 1 の保型形式の中では 108 はかなりレベ
ルが低い方で，これ以下のレベルの保型形式はほとんどありません．
より一般に，重さ w，レベル N の保型形式とは ad − bc = 1 かつ a − 1, c, d − 1 が N の倍数となる整数

a, b, c, d に対し，()
az + bf= (cz + d)w f (z)cz + d(∗)

を満たす複素関数のことをいいます（本によっては，c が N で割り切れる条件だけを課していることもありま
すが，それは流儀の問題です）．例によってこれに加えていくつかの条件が付きますが，それは省略します．
ちなみに保型形式を特徴付ける条件 (∗) はかなり強烈です．たとえば重さ 1，レベル 108 の保型形式は，先ほど挙げた例の定数倍しかないことが示されます．つまりさっきの保型形式は，重さ 1，レベル 108 で q の係
数が 1 であるような唯一の保型形式です．対称性だけで，完全に保型形式が決定されています．
ここまでで 2 つのことを話しました．まず，類体論では分からないような方程式 x3 − 2 = 0 に対して，謎の無限積を展開した係数を見ると解の個数が分かるのでした．そしてその謎の無限積の正体は，保型形式と呼ばれるものでした．
*14 たとえば図形の場合，線対称とは「折り返し操作に対する不変性」のことです．このように対称性とは「ある種の操作に対する不変性」のことなので，「保型形式は 1 次分数変換に対する対称性を持つ」と表現します．

14

以上をまとめると「x3 − 2 = 0 の Fp 内での解の個数は，重さ 1 の保型形式が知っている！」ということになります．これは偶然ではなく，タイプ 2 の全ての 3 次方程式について成り立ちます．定理の形で書いておきましょう．

定理 15. f (x) = 0 をタイプ 2 の 3 次方程式とするとき，ある整数 N > 0 および重さ 1，レベル N の保型形式 q + a2 q 2 + a3 q 3 + · · · であって，次を満たすものが存在する: 素数 p が N を割り切らないとき，

f (x) = 0 の Fp 内での解の個数は 1 + ap である．

ちなみにさっきは保型形式を無限積で書きましたが，保型形式が無限積で書けるのは珍しいことで，一般には無限積で表せない保型形式もあります．そしてタイプ 2 に関連する定理は無限積のままで一般化することができないので，我々は保型形式の言葉を使わなければいけません．ただ無限積で表せた方が例として説明しやすいので，さっきは無限積を使いました．
というわけで 2 次方程式の解の個数は，p を N で割った余りで分かりました．3 次方程式の解の個数について，Abel 方程式という良い方程式の場合は p を N で割った余りで分かり，その理論が類体論と呼ばれていました．一方，類体論で分からないものは保型形式を使うと分かりました．
そして保型形式は 3 次方程式に使うだけでは勿体ないものです．他にも色々な方程式の Fp 内での解の個数を，保型形式が知っています．4 次方程式や 5 次方程式を考えても良いのですが，ちょっと方向を変えて，変数を増やしてみましょう．唐突ですが，y 2 + y = x3 − x2 という方程式を考えます．普通このような方程式の解は無限にあって「個数」を考える意味はないのですが，今は考えている数の範囲が有限体 Fp であるため，解は有限個になります．この個数を，やはり保型形式が知っています．さっき 1 変数の方程式では重さ 1 の保型形式が出てきましたが，2 変数の方程式では重さ 2 の保型形式が登場します．

定理 16. 方程式 y 2 + y = x3 − x2 を満たす x, y ∈ Fp の組 (x, y) の個数を np とおく．このとき重さ 2，
レベル 11 の保型形式 q∞∏(1 − q n )2 (1 − q 11n )2 = q + a2 q 2 + a3 q 3 + · · · に対し，np = n − ap (p ̸= 11)n=1が成り立つ．

ちなみに重さ 2 の保型形式の中で定数項が 0 のもの（尖点形式）は，レベル 11 が最低です．また無限積の中に 2 乗が現れたことで，1 次分数変換で (cz + d)2 が飛び出すようになって，保型形式の重さが 2 になります．先の例に合わせて p = 11 を除きましたが，実は今回に限ってたまたま p = 11 でも成り立ちます．
このように，2 変数の方程式であっても保型形式が Fp における解の個数を知っているという現象が見られます．そして上のように，x と y の 3 次方程式で定まる平面曲線（で特異点を持たないもの）を楕円曲線といいます．ここで「特異点を持たない」と書いたのは，たとえば「(1 次式)3 = 0」という形で直線を表すような

3 次方程式を排除するためのおまじないです．因数分解ができないとか，尖った点がないということを表します．先ほどは 2 次方程式の解の個数が保型形式で分かるという話をしましたが，Fp 係数での楕円曲線上の点（これを Fp 有理点といいます）の個数も，重さ 2 の保型形式が知っています．これは志村–谷山予想と呼ばれるものです．

15

定理 17 (志村–谷山予想，[Taylor–Wiles 1995, Breuil–Conrad–Diamond–Taylor 2001]). a, b を整数とし，楕円曲線 y 2 = x3 + ax + b に対し，前と同様 np := #{(x, y) ∈ F2p | y 2 = x3 + ax + b} と定める．このとき，ある整数 N > 0 及び重さ 2，レベル N の保型形式 q + a2 q 2 + a3 q 3 + · · · であって，np = p − apが成り立つものが存在する．

例によって a, b には，曲線が特異点を持たないための条件が付きますが，それは省略します．また一般の楕円曲線は y 2 = x3 + ax + b という形に変形できるので，この定理は特殊な楕円曲線だけを扱っているわけではありません．
ちなみに，先ほどから登場している保型形式の重さは「1 を引くと次元になる」という関係の数になっています．この定理の場合，楕円曲線は 1 次元で 2 − 1 = 1 となっています．1 変数の場合だと方程式の解が有限個の点で 0 次元になるので，重さ 1 が現れます．
この志村–谷山予想は，名前を聞いたことのある人がいるかもしれません．これは有名な Fermat 予想*15
整数 a, b, c に対し an + bn = cn かつ n ≥ 3 ならば，abc = 0の証明に使われたからです．もし n ≥ 3 で an + bn = cn かつ abc ̸= 0 を満たす整数の 3 つ組 (a, b, c) が存在
すると，これを使った方程式によって，とある楕円曲線 E が作れます．そうすると志村–谷山予想で対応する
保型形式 f が存在するはずです．ここで現れた楕円曲線 E は非常に特殊な形をしていて，E の形から，重さ

2，レベル 2 の保型形式 f ′ で f と関係するものが存在することが言えます．一方，重さ 2 の保型形式でレベル 2 のものが存在しないことが，解析的*16 に（大して難しくはなく）示せます．
このように 350 年前からあった Fermat 予想は，最終的に有限体上の方程式と関連付けて解かれたのです．

Fermat 予想が解けたとき「Fermat 予想の解決ではなく，志村–谷山予想が解けて嬉しかったんだ」などと言った数学者もいましたが，このように志村–谷山予想を利用して昔からある予想が解けたことも，大変嬉しいことです．
似た方針で，次の定理も示せます．Fermat 予想に比べて，こちらはあまり有名ではありません．

定理 18 ([Bugeaud–Mignotte–Siksek 2006, Theorem 1]). 数列 (Fn )∞n=1 を Fibonacci 数列とする．すm
なわち F1 = F2 = 1, Fn+2 = Fn+1 + Fn とする．このとき数列 (Fn )∞(N ≥ 1, m ≥ 2)
n=1 の項で Nの形のものは F1 = F2 = 1 = 12 , F6 = 8 = 23 と F12 = 144 = 122 しかない．

Fibonacci 数列に現れる平方数が 1 と 144 しかないことは割と簡単で，こちらは 1970 年代に証明されています*17 ．ただ平方数に限らず自然数の冪乗がこれしかないことを示すには，Fermat 予想の証明と同様の議論が必要でした．

*15 Fermat が書き残した「この余白は証明を書くには狭すぎる」という言葉は，あまりにも有名です．ただ，実際に Fermat 予想を証明するのに必要だった数学を眺めてみると，当時の Fermat に完全な証明ができていたとはとても思えません．
*16 「複素関数に対する微積分を用いて」という意味です．
*17 J. H. E. Cohn, On square Fibonacci numbers, J. London Math. Soc. 39 (1964), 537–540 の中で，割と初等的な計算で示されています．

16

3 保型形式の限界，そして…
最後に，今我々が考えているこの先の話をします．保型形式は万能で何でも分かるのかというと，そうでもありません．今まで考えてきた問題は「2 次方程式の次は 3 次方程式にしてみよう」とか「1 変数から 2 変数にしてみよう」とか，割と安易なものでした．（ちなみにここまでの話で出ませんでしたが，2 変数の 2 次方
程式はもっと簡単です．考えてみてください．
）もっと問題を難しくしようとすると，素朴には• 4 次以上の方程式の Fp 内における解の個数•（実は，4 次式を考えるのと 3 次式を考えるのはほとんど変わらないので）y 2 = (x の 5 次式) という曲
線の Fp 有理点の個数• もっと変数を増やしたときの，曲面上の Fp 有理点の個数が出てきます．実はこの中には，全然分かっていないものも含まれています．これは 2 次方程式から 3 次方程式に話を進めたときと同じような状況になっていて，運が良ければ保型形式で書けることもありますが，一般にはそうではありません．先ほど類体論で分かる方程式を Abel 方程式と言いましたが，保型形式で書けるものにも GL(2) 型という名前がついてます．このあたりの記号の説明はしませんが，行列と関係しています．
そして実は，Abel 方程式は GL(1) 型に他なりません．すなわち GL(1) 型は類体論で分かり，GL(2) 型は保型形式で分かる，というわけです．そして GL(2) 型でないような方程式があります．
ではどうしようもないのかというと，そうではなくて，保型形式を GL(2) 型でないものに一般化することが考えられます．保型形式の一般化として，各整数 n ≥ 1 に対して「GL(n) の保型表現」と呼ばれるものがあり，これを使うと上で述べたような全ての問題に答えられると期待されています．これらの期待を含む壮大な予想が Langlands 予想と呼ばれています．（実のところ Langlands 予想はもっともっと広いものですので，今のような言い方をしてしまうと，一部の専門家は「そうではない」と言うかもしれません．ただ，それでも「Langlands 予想がどういうものなのか」に関しては，かなり正確な言い方になっています．
）
この Langlands 予想について図を描いて終わりにします．

保型表現

Langlands 対応

多変数の（連立）方程式
代数多様体

関数の世界
解析的

方程式の世界
代数的どうなっているかというと，一方には保型表現の世界があって，他方には多変数の（連立）方程式（すなわち，曲線や曲面や，それらを一般化した代数多様体）の世界があります．保型表現の世界は関数の世界であり，解析（微積分や，それらの複素バージョンや，あるいは関数解析）をふんだんに使います．代数多様体の世界は方程式の世界で，どちらかというと代数的です．それぞれ非常に歴史のある分野で，これまで深い研究がなされてきたわけですが，この間に橋を架けようというのが Langlands 対応というものです．この橋渡しの研究が，いま盛んに進行中です．解析と代数を結びつける必要があるので，ありとあらゆる数学（たとえば幾何学，表現論，物理学など…）を使います．全く違う分野を結びつけると思ってもいなかった結果が現れた
りするのが，面白いところです．最近では Taylor さんを中心に議論が進んでいて，色々なことが証明されていますが，今日の話はここまでにしておきます．

17

4 練習問題の解答■方程式 x2 = −3 の Fp における解例 19. x2 = −3 の Fp における解がいつ存在するかを調べましょう．
複素平面上で考えて，1 の冪根を用いて√√√−3 を作ります． −3 = 3i を作るには，単位円周を 6 等

分して ζ6 を考え√√√
1 + 3i −1 + 3i
3i =+= ζ6 + ζ62
22とすれば良さそうです．
√

Im
3i
ζ6 =

−1

0

√
1 + 3i2

1ReΩp でこの真似をします．a3 + 1 = (a + 1)(a2 − a + 1) です．そこで 3 乗して −1 になる元のうち −1
でないものとして，a2 − a + 1 = 0 を満たす複素数 a を取ります．そして ω = a + a2 とおきます．このとき

ω 2 = a2 + 2a3 + a4 = a2 − 2 − a = −1 − 2 = −3です．よって x2 = −3 は，解 ±(a + a2 ) = ±(a − a−1 ) を持ちます．
かくして Ωp 内でも同様に，a2 − a + 1 = 0 を満たす a を取れば，方程式 x2 = −3 の 2 解が ±(a − a−1 )と分かります．これが Fp に属するかを考えましょう．a6 = 1 なので，(a − a−1 )p = ap + (−1)p a−p は，

p を 6 で割った余りで決まります．そして p は素数なので，p を 6 で割った余りは 1, 2, 3, 5 のいずれかです．また 6 で割って 2 余る p は p = 2 だけ，6 で割って 3 余る p は p = 3 だけです．
余りが 1 この場合 (a − a−1 )p = ap − a−p = a − a−1 だから，±(a − a−1 ) が Fp 内での解になっています．
余りが 2 この場合は p = 2 で，−3 = 1 です．よって元の方程式は x2 = 1 となり，さらに 1 = −1 だから，方程式は重解 x = 1 を持ちます．
余りが 3 この場合は 3 = 0 なので，そもそも元の方程式が x2 = 0 になってしまいます．この解は重解

x = 0 です．
余りが 5 この場合は (a − a−1 )p = a5 − a−5 = a−1 − a = −(a − a−1 ) ̸= a − a−1 です．よって解は Fp
内に存在しません．

18

■方程式 x3 − 3x + 1 = 0 の Fp における解例 20. 方程式 x3 − 3x + 1 = 0 の Fp における解がいつ存在するかを調べましょう．
まず実数の範囲で方程式を解いてみます．x = 2 cos θ を代入すると

0 = 8 cos3 θ − 6 cos θ + 1 = 2(4 cos3 θ − 3 cos θ) + 1 = 2 cos 3θ + 1∴ cos 3θ = −

1
2

2 4 8
2
4
8
π, π, π とすれば，3 解 x = 2 cos π, 2 cos π, 2 cos π が得られます．
3 3 3
9
9
9
ここで，1 つの解から残りの解を作る方法を調べておきましょう．cos の倍角公式 cos 2θ = 2 cos2 θ − 1となります．よって 3θ =より，2 cos 2θ = (2 cos θ)2 − 2 です．よって α が上記の解のいずれかなら α2 − 2 も解になります．

2
2
9
9
2
2 cos π が解の 1 つです．よって残りの 2 解は (ζ +ζ −1 )2 −2 = ζ 2 +ζ −2 と (ζ 2 +ζ −2 )2 −2 = ζ 4 +ζ −4 だ9とわかります．ちなみに ζ 9 = 1 より ζ 8 = ζ −1 なので，もう 1 度同じ操作を繰り返すと (ζ 4 + ζ −4 )2 − 2 =次に，複素平面上で 1 の冪乗根を用いて解を表示します．ζ = cos π + i sin π を考えると，ζ + ζ −1 =

ζ 8 + ζ −8 = ζ −1 + ζ となり，最初の解に戻ります．
これを利用して Ωp での解を作ります．今の ζ は，9 乗して 1 になる数のうち，1 の 3 乗根でないもの
として特徴付けられます．そして x9 − 1 = (x3 − 1)(x6 + x3 + 1) という因数分解を合わせると，ζ は

ζ 6 + ζ 3 + 1 = 0 を満たします．そこで Ωp 内で，a6 + a3 + 1 = 0 を満たす数 a を 1 つ取ります．このとき• a + a−1 は x3 − 3x + 1 = 0 の解です:(a + a−1 )3 − 3(a + a−1 ) + 1 = a3 + 1 + a−3 =a6 + a3 + 1= 0.
a3• x = α が x3 − 3x + 1 = 0 の解なら，x = α2 − 2 も解です．実際 α3 − 3α + 1 = 0 なら
(α2 − 2)3 − 3(α2 − 2) + 1 = α6 − 6α4 + 9α2 − 1= α3 (α3 − 3α + 1) − 3α(α3 − 3α + 1) − α3 + 3α − 1 = 0.
これより Ωp での解 ω0 = a + a−1 , ω1 = a2 + a−2 , ω2 = a4 + a−4 が得られます．これらはいずれも方
程式 x = x2 − 2 の解 2, −1 ではないので，全て異なります．そして ωk+1 mod 3 = ωk2 − 2 だから，どれか

1 つが Fp に入れば残り全てが Fp に入ります．そこで (a + a−1 )p = ap + a−p が Fp に入るか調べましょう．a9 − 1 = (a3 − 1)(a6 + a3 + 1) = 0 より a9 = 1 なので，p を 9 で割った余りを考えます．
余りが 1 or 8余りが 1 なら ap + a−p = a + a−1 ，余りが 8 なら ap + a−p = a−1 + a より，いずれにせよ (a + a−1 )p = a + a−1 です．よって解は 3 個です．
余りが 2 or 7

余りが 2 なら ap + a−p = a2 + a−2 ，余りが 7 なら ap + a−p = a−2 + a2 より，いずれにせよ (a + a−1 )p = a2 + a−2 ̸= a + a−1 です．よって解は 0 個です．
余りが 4 or 5

余りが 4 なら ap + a−p = a4 + a−4 ，余りが 5 なら ap + a−p = a−4 + a4 より，いずれにせよ (a + a−1 )p = a4 + a−4 ̸= a + a−1 です．よって解は 0 個です．
余りが 3 素数 p を 9 で割った余りが 3 になるのは p = 3 のときだけです．このとき元の方程式がx3 + 1 = 0 になります．これを満たす x を総当たりで調べると，x = 2 しかないことが分かります．よって解は 1 個です．

19

5 参考文献
今回のテーマに関する文献をいくつか紹介しておきます．
■論文

今回の講演の中で結果が引用された論文は，以下の通りです．

• C. Breuil, B. Conrad, F. Diamond and R. Taylor, On the Modularity of Elliptic Curves over Q:
wild 3-adic exercises, J. Amer. Math. Soc 14 (2001), 843–939.
• Y. Bugeaud, M. Mignotte and S. Siksek, Classical and modular approaches to exponential Diophantine equations I. Fibonacci and Lucas perfect powers, Ann. Math. 163 (2006), 969–1018.
• J. H. E. Cohn, On square Fibonacci numbers, J. London Math. Soc. 39 (1964), 537–540.
• R. Taylor and A. Wiles, Ring-Theoretic properties of certain Hecke Algebras, Ann. Math. 141(1995), 553–572.
• A. Wiles, Modular elliptic curves and Fermat’s Last Theorem, Ann. Math. 141 (1995), 443–551.
Fermat 予想に関係した文献は [Breuil–Conrad–Diamond–Taylor 2001], [Taylor–Wiles 1995] と [Wiles
1995] です．また，これらの論文の手法を整数の冪乗の形をした Fibonacci 数列の項の問題に適用したのが[Bugeaud–Mignotte–Siksek 2006] です．そして [Cohn 1964] は，Fibonacci 数列の中に現れる平方数を決定した論文です．
■書籍• C. F. Gauss, Disquisitiones Arithmeticae, Lipsiae (1965)• 斎藤毅，河東泰之，小林俊行編『数学の現在 i』（東京大学出版会）• Jean-Pierre Serre 著，弥永昌吉訳『数論講義』（岩波書店）
一番最初に挙げた Gauss の著書は，平方剰余の相互法則に対する最初の証明が記されたものです．これの第 4 章に証明が与えられています．原著は今では当然絶版ですが，Yale University Press や Springer などから再版されているようです．
次に挙げた『数学の現在 i』という本は，東京大学理学部数学科の 4 年生向けに最先端の数学を紹介するオ
ムニバス形式の授業「数学講究 XB」のうち，代数学に関する内容をまとめたものです．これの第 6 章に「整数論—モジュラー曲線の背後に潜む数論的現象」という三枝先生の記事があります．
最後に挙げた Serre の『数論講義』は，定評のある数論の教科書です．第 7 章で保型形式が扱われています．

20