tsujimotterのノートブック

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

リュカのキャノンボール問題

面白い問題を見つけたので紹介します!

「エドゥアール・リュカ」という名前を聞いたことがあるでしょうか。リュカ数列や,メルセンヌ素数の「リュカ・レーマーテスト」で有名なあの「リュカ」です。
彼は数学にまつわるパズルのような問題をたくさん紹介したことで知られていますね。

「ハノイの塔」というパズルもリュカが最初に紹介したものです。

Tower of Hanoi.jpeg
CC 表示-継承 3.0, https://commons.wikimedia.org/w/index.php?curid=228623


さて,今日お話したいのは,そのリュカが考察したことで知られる

「キャノンボール問題」

です。



キャノンボール問題は,以下の方程式の整数解  (n, M) をすべてみつけよ,というディオファントス問題の一種です。

 \displaystyle \sum_{k=1}^{n} k^2 = M^2 \tag{1}


キャノンボールとは

「キャノンボール」とは「砲丸」のことですが,その心は何なのでしょうか。

左辺を定義に従って書き直すとこうなりますね。

 \displaystyle 1^2 + 2^2 + 3^2 + \cdots + n^2 = M^2


 1 から  n までの平方数の和になっています。平方数とは,球体1つを "1" とみたときに,それらを "正方形" に並べてできる数ですね。

このことを思い浮かべながら以下の図を眺めます。

平方数を重ねてできたピラミッドのつくる数が, M^2,すなわち平方数になるか?というのが元の問題だったというわけです。


ところでこの図形,砲丸をピラミッド状に並べているように見えてきませんか?

実際に,砲丸をならべてみた図も Wikipedia に載っていました。


まさに「キャノンボール問題」ですね。きっとリュカも上のような図を頭に思い浮かべていたのでしょう。


別名「平方ピラミッド問題(Square Pyramid Problem)」とも言われるようです。そのまま過ぎですね。笑

個人的にはキャノンボールの方がセンスがあって好きです。

キャノンボール問題の解

さて,ではキャノンボール問題の解について考えていきましょう。これを読んでいるみなさんも,よかったらどんな解があるか考えてみましょう。


私は,いつものようにプログラム(Ruby)を使います。笑

すべての  n について調べるのは不可能なので,とりあえず  n \leq 1000 の範囲で探索してみましょう。

# search_spn.rb 
# n=1000 以下の平方ピラミッド数(Square Pyramidal Number) を探索する

1000.times do |n|

    sum = 0
    (1..n).each do |k|
        sum += k*k
    end

    sqrt       = Math.sqrt(sum)
    sqrt_floor = Math.sqrt(sum).floor


    if sqrt == sqrt_floor then
        # sum is square number

        m = sqrt.to_i
        puts "n = #{n}, M = #{m}"
    end

end


このプログラムを実行すると, \sum_{k=1}^{n} k^2 = M^2 を満たすような,整数解  (n, M) の組が  0\leq n \leq 1000 の範囲で見つかります。

実行結果は次の通りです。

$ ruby search_spn.rb 
n = 0, M = 0
n = 1, M = 1
n = 24, M = 70

3組見つかりました!

 n = 0, 1 のときは自明ですね。

面白いのは  n = 24 のときです。

 1^2 + 2^2 + 3^2 + \cdots + 24^2 = 4900 = 70^2

となって,たしかにキャノンボール問題の解になることがわかりますね。


今回は  n \leq 1000 の範囲で探索しましたが,他に解は存在しないのでしょうか。

 n \leq 10000 としても解は見つかりません。私はやっていませんが,実はこの先ずっと探しても見つからないのです。


プログラムの便利なところは,ある程度の範囲までは力づくで解を見つけてくれることです。その反面,解がもう存在しないことを示すことは難しいです。
これ以上解がないことを,いったいどうやって示せば良いのでしょうか。


歴史的なことを話すと,リュカは 1875 年にこの問題を発案し,非自明な解として  (24, 70) を見つけていました。この他に非自明な解が存在しないことを示唆していたようですが,証明には至りませんでした。

1918 年に Watson *1 がこの問題に完全な解を与えました。すなわち,これ以上非自明な解が存在しないことを示したのです。その方法は modulus が  1/\sqrt{2} である楕円関数を用いた非常に複雑な証明とのことです。なかなか興味を惹かれる内容ですが,私は彼の文献を見つけることができませんでした。

近年になっていくつか初等的な証明が発見されて,その中の1つが Anglin *2 によるものです。この文献は以下のページで見ることができます。ただし,無料で見るためには JSTOR のアカウントを作ってあげる必要があります。

W.S. Anglin - The square pyramid puzzle
http://www.jstor.org/stable/2323911

上と同じ内容の証明を以下の PDF でも紹介しているようです。いくらか省略されているようですが,日本語で読めるので,概略を掴みたいのであれば,こちらでもいいかもしれませんね。

石井 夕紀子 - 平方ピラミッド問題と楕円曲線の整数点
http://www.cst.nihon-u.ac.jp/research/gakujutu/56/pdf/P-6.pdf


初等的とはいえ,簡単な証明ではありませんので,ここでの解説は控えます。

キャノンボール問題と合同数

その代わりといっては何ですが,合同数と関連しそうという話について触れておきましょう。


高校のときに習った数列の和の公式を思い出します。

 \displaystyle 1^2 + 2^2 + 3^2 + \cdots n^2 = \frac{n(n+1)(2n+1)}{6}

思い出せましたか?もしこの公式を忘れてしまった人がいたら,id:End01nojo さんの以下の記事を読んでください。もう2度と忘れることはなくなるでしょう。
end01nojo.hatenablog.com


さて,この公式を式  (1) の左辺に適用します。

 \displaystyle \frac{n(n+1)(2n+1)}{6} = M^2

ここで, x = 2n, \; y = 2M とおきます。すると,

 x(x+1)(x+2) = 6y^2 \tag{2}

と変形できるでしょう。左右入れ替えて,両辺  6 で割ると,

 \displaystyle y^2 = \frac{x(x+1)(x+2)}{6}

という具合に楕円曲線の形になります。

結局のところ,リュカのキャノンボール問題は,この楕円曲線の整数解を求める問題だったのですね。



"Square Pyramid Problem" で検索してみると,以下の面白そうな PDF も見つかります。

MICHAEL A. BENNETT - LUCAS’ SQUARE PYRAMID PROBLEM REVISITED
https://www.math.ubc.ca/~bennett/paper21.pdf

査読付きの論文誌に出ているわけではない(と思う)ので,真偽の判断は難しいのですが,以下ではこの PDF が合っているものとして話を進めます。


この PDF では,式  (2) 6 を一般の  n として,

 x(x+1)(x+2) = ny^2 \tag{3}

という方程式の整数解について考えているようです。

文献に合わせる都合上, n を 2 回使ってしまっていますが,この  n は最初の整数解の  n とは無関係です。


問題は,この  n がどういう数のときに式  (3) が解を持つか,ということです。


上の文献によると「 n が素数のときには, n = 5, \; 29 という例外を除いて,整数解を持たない(Corollary 2.3)」そうです。

実際確かめてみると,

 8(8+1)(8+2) = 5\cdot 12^2

より, n = 5 においては整数解  (x, y) = (8, 12) を持ちます。 n = 29 のときの整数解は, (x, y) = (9800, 180180) だそうです。ちょっと確かめたくなくなる数ですね。

でもこれで, 29 っていう数字に愛着がわくかもしれません。笑



また,Proposition 3.1 によると,式  (3) が有理解を持つなら,  n は「合同数(Congruent number)」となるそうです。(合同数なら解を持つわけではないことに注意してください。)


合同数とは「すべての辺の長さが有理数であるような直角三角形の面積になる数」のことですね。

f:id:tsujimotter:20160227221526p:plain:w320

もともとの問題の  6 は,もちろん合同数です。三角形の一辺をそれぞれ  3, 4, 5 とする "いつもの直角三角形" を考えると,その面積は  \frac{3\cdot 4}{2} = 6 となって, 6 が合同数であることがわかります。


合同数のリストを下から順にあげていくと,*3

 5, 6, 7, 13, 14, 15, 20, 21, 22, 23, 24, 28, 29, 30, 31, 34, 37, 38, 39, 41, 45, 46, 47, \cdots

ですから,先ほど出てきた  5, 6, 29 は確かに合同数になっていますね!



だんだん,理解が怪しくなってきましたので,この辺で終わりにしたいと思います。笑

それでは〜!

参考ページ

この話に興味を持ったのは,以下の Wikipedia に書いたあった記述がきっかけでした。
エドゥアール・リュカ - Wikipedia

"Square Pyramid" については,ここら辺にいろいろと載っています。
Square pyramidal number - Wikipedia
Square Pyramidal Number -- from Wolfram MathWorld

*1:G.N. Watson. The problem of the square pyramid. Messenger of Math. 48 (1918), 1–22.

*2:W.S. Anglin. The square pyramid puzzle. Amer. Math. Monthly 97 (1990), 120–124.

*3:合同数のリストはここからとってきました。Congruent number - Wikipedia