読者です 読者をやめる 読者になる 読者になる

tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

「57 は 3 で割れ切れる」の別証明

数学 素数 自由研究 素数と2次体の整数論

57 という数は「グロタンディーク素数」と呼ばれています。グロタンディークという高名な数学者が「57 を素数と間違えた」というエピソードに由来しています。

このエピソードは,私のブログでも紹介したことがありました。
tsujimotter.hatenablog.com


上の記事でもご紹介した通り, 57 という数は,実際は  3 で割り切れるのです。だから,素数ではありません。

一方で,この数が  3 で割り切れることを示すのは難しいのでしょう。あのグロタンディーク先生が間違えたのですから。

実際,「 57 3 で割り切れる」を示すためには, 57 3 で割り算しなければいけません。割り算です。きっと難しいに決まっています。


そこで今回の記事では,実直に割り算するのではなく,もっと別の方法で「 57 3 で割り切れる」を示すことを試みたいと思います。

今日紹介するのは 57 3 で割り切れる」別証明 です。


使う道具は,虚二次体の類数 です。

類数が  3 で割れる条件

それでは,証明に必要な道具を紹介しましょう。

まず虚二次体とは,有理数体  \mathbb{Q} \sqrt{-a}\;\; (a > 0) という形の数を添加した拡大体  \mathbb{Q}(\sqrt{-a}) のことです。

虚二次体には「類数」と呼ばれる非常に重要な「不変量」が存在します。

そもそも虚二次体においては,通常の数の世界で成り立つような素因数分解の一意性が,一般には成り立ちません。この「成り立たなさ具合」を表現する群を「イデアル類群」というのですが,このイデアル類群の位数を類数というのです。

本記事では類数について詳しく述べませんが,以下の記事でいくらか丁寧に紹介していますので,よろしければご覧になってください。
tsujimotter.hatenablog.com
tsujimotter.hatenablog.com


さて,虚二次体の理論によると,類数に関する以下の補題が成り立つことが知られています。これを使うと類数が  3 で割り切れることがわかるのです。

補題:
平方因子を持たない整数  a > 0 a\not\equiv 7 \pmod{8} のとき,以下が成り立つ.

 \mathbb{Q}(\sqrt{-a}) の類数が  3 で割り切れないならば,整数  u \geq 0, \; e = \pm 1 に対して,

 Y^2 = X^3 - a \tag{1}

の整数解は以下のいずれかに限られる:

  •  a = 3u^2 + e のとき, (x, y) = (4u^2 + e, \; \pm u(8u^2 + 3e))
  •  a = 3u^2 + 8e のとき, (x, y) = (u^2 + 2e, \; \pm u(u^2 + 3e))


上の補題は,要するにこういうことを言っています。

 \mathbb{Q}(\sqrt{-a}) の類数が  3 で割り切れない
 \;\; \Longrightarrow \;\; Y^2 = X^3 - a が(上で)定められた整数解しか持たない


この対偶を取ると

 Y^2 = X^3 - a が(上で)定められた以外の整数解を持つ
 \;\; \Longrightarrow \;\; \mathbb{Q}(\sqrt{-a}) の類数が  3 で割り切れる

となります。


したがって,①類数が 57 かつ ②条件を満たすような虚二次体 を見つければ,補題の対偶により「 57 3 で割り切れる」を示せますね。


上の補題の証明はそんなに簡単ではありませんが,概略だけご紹介します。

 Y^2 = X^3 - a の整数解を (X, Y) とし,
 A = (X, Y + \sqrt{-a})

とおくと, A^3 = (Y + \sqrt{-a}) となり, A^3 が単項イデアルだと分かる。

一方,類数を  h とおくと, A^{h} も単項イデアル。

 3 h が互いに素であるから,ユークリッドの互除法により

 3u + h v = 1

を満たす  u, v が存在する。

 (単項イデアル) = A^{3u + h v} = A^1 = A

より, A が単項イデアルとわかる。
(この辺の証明の流れは以下の記事の内容とそっくりですね!)
tsujimotter.hatenablog.com

 A = (z + w\sqrt{-a}) とおいて,

 (Y + \sqrt{-a}) = A^3 = (z + w\sqrt{-a})^3

を計算すると,整数解が具体的に計算できる。
(実際には, a \bmod{8} で場合わけして分類して計算する)


詳細は,以下の本の第7章に載っていますので,興味がある方は調べてみてください。

素数と2次体の整数論 (数学のかんどころ 15)

素数と2次体の整数論 (数学のかんどころ 15)

  • 作者: 青木昇,飯高茂,中村滋,岡部恒治,桑田孝泰
  • 出版社/メーカー: 共立出版
  • 発売日: 2012/12/21
  • メディア: 単行本
  • 購入: 2人 クリック: 2回
  • この商品を含むブログを見る


それでは,本題の証明に移りましょう。

「57 は 3 で割り切れる」の虚二次体の類数を使った証明:

 K = \mathbb{Q}(\sqrt{-8419}) の類数を  h とする. 8419 \not\equiv 7 \pmod{8} である.

補題より,もし  h 3 で割り切れないならば,

 Y^2 = X^3 - 8419 \tag{2}

の整数解は  (x, y) = (2793, \pm 147605) に限られる.

一方  (2) には,上記と異なる整数解  (x, y) = (2807, 148718) が存在するため, h_K 3 で割り切れる.

 h = 57 より, 57 3 で割り切れる.

(証明終わり)

裏話

以上で証明が終わったのですが,いかがだったでしょうか。

上では,さらっと結果だけ書いていますが,実はこの例を見つけるのは,想像以上に大変 でした。

ちょっとだけ裏話を紹介します。


まず,類数が  57 であるような虚二次体を探すのが大変です。

世の中には素敵なブログがあって,
integers.hatenablog.com

こんな風に「ある類数を持つ虚二次体のリスト」を作ってくれています。



しかしながら,類数が  57 であるような虚二次体については載っていません。ほかのサイトを調べてみましたが(たとえば OEISMathWorld など),どこにも見つかりませんでした。


仕方ないので自分で計算することにします。


類数の計算は以前にもやったことがありました。
tsujimotter.hatenablog.com

上の記事では,虚二次体の類数ではなく判別式  D < 0 を持つ二次形式の類数  h(D) を計算しています。

どう対応しているかというと,判別式  d_K を持つ虚二次体の類数を  h(d_K) としたとき

 h(D) = h(d_K)

となります。

虚二次体  K = \mathbb{Q}(\sqrt{-a}) の判別式は,

 \displaystyle d_K = \begin{cases} -a & (a \equiv 3 \pmod{4} のとき) \\ -4a & (a\equiv 1, 2 \pmod{4} のとき) \end{cases}

です。 d_K から  a を求めるには,

  •  d_K 4 で割り切れるなら  4 で割って,
  • 絶対値をとる

とすれば良いわけですね。


さて,このようにして判別式の絶対値が 100000 以下の虚二次体の類数 を計算しました。すると,以下の 110 個の虚二次体が見つかります(以下はすべて  a の値)。

2099, 2339, 2459, 2591, 2879, 3407, 3467, 4007, 4019, 4139, 5059, 5147, 5431, 5659, 6079, 6803, 6859, 6983, 8419, 8923, 8971, 9103, 9127, 9619, 10159, 10891, 11299, 11551, 13331, 13499, 13759, 15091, 15331, 16363, 16691, 16747, 17011, 17291, 17299, 17539, 17683, 18059, 18131, 19139, 19183, 19507, 21187, 21211, 21283, 21467, 22307, 23167, 23203, 23767, 24763, 26959, 28499, 28979, 29147, 30091, 30223, 30931, 33107, 33223, 35407, 35863, 36083, 38459, 40283, 40763, 42979, 44491, 44647, 46307, 47147, 47387, 48259, 49411, 49787, 50723, 54331, 55171, 55219, 57139, 59123, 62723, 65003, 65419, 65539, 69739, 69859, 70099, 72227, 73907, 74731, 78467, 84787, 84947, 85411, 88883, 91099, 91411, 94219, 94291, 94427, 95107, 95707, 95971, 96451, 96931


このうち,条件  a \not\equiv 7 \pmod{8} を満たすものはどれでしょう。

2099, 2339, 2459, 3467, 4019, 4139, 5059, 5147, 5659, 6803, 6859, 8419, 8923, 8971, 9619, 10891, 11299, 13331, 13499, 15091, 15331, 16363, 16691, 16747, 17011, 17291, 17299, 17539, 17683, 18059, 18131, 19139, 19507, 21187, 21211, 21283, 21467, 22307, 23203, 24763, 28499, 28979, 29147, 30091, 30931, 33107, 36083, 38459, 40283, 40763, 42979, 44491, 46307, 47147, 47387, 48259, 49411, 49787, 50723, 54331, 55171, 55219, 57139, 59123, 62723, 65003, 65419, 65539, 69739, 69859, 70099, 72227, 73907, 74731, 78467, 84787, 84947, 85411, 88883, 91099, 91411, 94219, 94291, 94427, 95107, 95707, 95971, 96451, 96931

少し減りましたね。


さらに条件  a = 3u^2 + e または  a = 3u^2 + 8e を満たすような  a はどうでしょうか。ここで, u は正の整数, e \pm 1 のいずれかです。このような  a は,・・・なんとたった2つです!!

3467, 8419


あのたくさんあった候補は,どこにいってしまったのでしょう・・・。

実は,条件はあと一個あるのですが。本当に成り立つ候補は存在するのでしょうか。


最後の条件に行く前に, u, e を具体的に計算して,補題で定められた整数解を計算しましょう。

 a = 3467 のとき:
 3467 = 3\cdot 34^2 - 1

より, u = 34, \; e = -1 です。したがって,補題で定められた整数解は,

 (X, Y) = (4623, \pm 314330)

となります。

 a = 8419 のとき:

 3467 = 3\cdot 53^2 - 8

より, u = 53, \; e = -8 です。したがって,補題で定められた整数解は,

 (X, Y) = (2793, \pm 147605)

となります。



さて, Y^2 = X^3 - a が,上で計算した整数解と 異なる整数解 をもっていれば,今回の証明に用いることができます。

最後の条件は「上と異なる整数解をもっていること」です。


ここで障壁が1つあります。実際,整数解を計算するには,どのようにしたらよいでしょうか。

全探索で計算するのでしょうか。先ほどの定められた方の整数解は  Y については十万台の大きさになっています。このような解を見つけるのは,なかなか大変です。


良い方法を知らない tsujimotter は,仕方なく Sage というソフトウェアに頼ることにしました。Sage は以下の記事でも用いていますので,今回は解説するのをやめておきます。
tsujimotter.hatenablog.com


さて,

 Y^2 = X^3 - a

のような式は,楕円曲線と呼ばれています。すなわち,楕円曲線の整数解を求める問題です*1


そのような考えのもと "elliptic curve", "integer points" のような単語で調べていくと,計算方法が見つかりました。


 a = 3467 については,以下のコマンドで求めることができます。

sage: a = 3467
sage: E = EllipticCurve([0, 0,0, 0, -a]); E
Elliptic Curve defined by y^2 = x^3 - 3467 over Rational Field
sage: E1 = E.minimal_model()
sage: E.integral_points()
[(4623 : 314330 : 1)]

最終的に  (X, Y) = (4623, 314330) という整数解が得られました。

・・・あれ?これ「定められた方の整数解」じゃん。

というわけで,残念ながら「はずれ」ですね・・・。


本当に条件に合う虚二次体は見つかるのか。不安が脳裏をよぎります。


最後のチャンスです。

 a = 8419 で試してみましょう。

sage: a = 8419
sage: E = EllipticCurve([0, 0,0, 0, -a]); E
Elliptic Curve defined by y^2 = x^3 - 8419 over Rational Field
sage: E1 = E.minimal_model()
sage: E.integral_points()
[(2807 : 148718 : 1)]

おっと!「定められた整数解」と異なる整数解

 (X, Y) = (4623, 314330)

が現れました!!!

これはついにやったか!!!


いや,間違っているかもしれません。

落ち着いて本当に楕円曲線  Y^2 = X^3 - a の解になっているか確かめましょう。

解の確認は,Ruby で行いました。

$ irb
irb(main):001:0> x = 2807
=> 2807
irb(main):002:0> y = 148718
=> 148718
irb(main):003:0> a = 8419
=> 8419
irb(main):004:0> x*x*x-a
=> 22117043524
irb(main):005:0> y*y
=> 22117043524

たしかに,

 X^3 - a = 22117043524
 Y^2 = 22117043524

となって,一致していますね!

というわけで,見事目的の解を見つけました!!!


結局,まとめると

  •  a \not \equiv 7 \pmod{8} を満たし
  •  a = 3u^2 + e または  a = 3u^2 + 8e を満たし
  • なおかつ,定められた整数解  (X, Y) = (2793, \pm 147605) を満たすような

 a = 8419 を使って,類数  57 の虚二次体  K = \mathbb{Q}(\sqrt{-8419}) を用いると,補題より  57 3 で割り切れることを証明できるのです。


いやぁ・・・疲れた。

応用:平方数の次にあり立法数の前にある数ってなーんだ?

せっかく,面白い補題を紹介したので,この補題を使った応用をご紹介します。


 26 という数についてです。

この数は, 5^2 = 25 という「平方数」の1つ後にある数であり,かつ, 3^3 = 27 という「立法数」の1つ前にある数でもあります。

実は,このような数は  26 のみであることが知られています。つまり,

 5^2 = 25 < 26 < 27 = 3^3

ということです。

これを図形で表すと以下のようになります。平方数は正方形で表現できるので, 5\times 5 の正方形に  2 つ足してあげて

f:id:tsujimotter:20151021011651j:plain:w400

とします。これを並び替えると

f:id:tsujimotter:20151021011257j:plain:w400

のように, 3\times 3\times 3 の立方体となるということですね。

こんなことができる組み合わせは

 (立方体の一辺, 正方形の一辺) = (3, 5)

のみであるということです。


数式で表すと,

 Y^2 = X^3 - 2

を満たす整数解  (X, Y) (3, 5) だけであるということ。これは,まさに先ほどの楕円曲線の整数解ですね。


この問題の解法については,たとえば以下の「コロちゃんぬさん」のブログ記事でも紹介されています。
corollary2525.hatenablog.com


より一般的な定理である(今回紹介した)補題を使っても,この問題を解くことができます。やってみましょう。

補題に当てはめると, a = 2 なので  a \not\equiv 7 \pmod{8} を満たします。また, \mathbb{Q}(\sqrt{-2}) の類数は,よく知られているように  1 です。したがって, 3 で割り切れません。さらに, a = 3\cdot 1^2 - 1 より, u = 1, \; e = -1 として条件を満たします。

したがって,この曲線は

 (X, Y) = (4u^2 + e, \; \pm u(8u^2 + 3e))

という形の解だけを整数解に持ちます。 u = 1, \; e = -1 を代入すると

 \begin{align} X &= 4\cdot 1^2 + (-1) &= 3 \\
 Y &= \pm 1\cdot (8\cdot 1^2 + 3\cdot(-1)) &= \pm 5 \end{align}

となり,たしかに整数解は   (X, Y) = (3, 5) だけであることがわかりました。

まとめ

いかがだったでしょうか。類数をつかうというのは,なかなか面白い解法だったのではないでしょうか。

実際のところ「 57 3 割るのが大変だから・・・」というのは冗談です。今回は簡単な割り算だったので,こんな風に大掛かりな道具を使う人はいないとは思いますが,一方で整数論においては結構似たようなことをやるみたいです。

tsujimotter はこんな風に,抽象的な道具を使って具体的な問題を解くような手法が好きで,とても面白いと感じています。


というわけで,虚二次体の類数や代数的整数論に興味をもってもらえると嬉しいです。

それでは,今日はこの辺で。

参考文献

先に紹介した通り「虚二次体の類数が  3 で割り切れる条件」はこの本で知りました。ほかにも,とても魅力的なトピックが載っている本なので,よかったらごらんください。

素数と2次体の整数論 (数学のかんどころ 15)

素数と2次体の整数論 (数学のかんどころ 15)

  • 作者: 青木昇,飯高茂,中村滋,岡部恒治,桑田孝泰
  • 出版社/メーカー: 共立出版
  • 発売日: 2012/12/21
  • メディア: 単行本
  • 購入: 2人 クリック: 2回
  • この商品を含むブログを見る


*1:ちなみに,カール・ジーゲルによって「 \mathbb{Q} 上の楕円曲線の整数解は有限個」という定理が示されています。