Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-数学- タクシー数の一般化と楕円曲線

f:id:jurupapa:20210504122033j:plain

 

タクシー数の定義は、2つの正の3乗数の和として表す方法が2通りある最小の整数、であり、具体的には1729でした。また、前回の記事: 

では2つの正の3乗数の和で表す方法が3通りある最小の整数が87539319であることも、母関数の展開を行うことで証明しました。この方向でタクシー数を一般化することができます。

 

タクシー数\(Ta(n)\) : 2つの正の3乗数の和として表す方法が\(n\)通りある最小の整数。

すでに分かっている事実を数式で書くことが出来ます。

$$ Ta(2)=1729 \\ Ta(3)=87539319 $$ 

一見、\(Ta(n)\)がどんな自然数\(n\)についても存在するかどうかは明らかではありません。ひょっとすると、どんな自然数も2つの正の3乗数の和として表す方法が5通りにはならない、かもしれないですよね。そして、その場合には\(Ta(5)\)は存在しないことになります。

 

ところが驚くべきことに\(Ta(n)\)は全ての自然数\(n\)についてちゃんと存在するのです。つまり2つの正の3乗数の和として表す方法が\(n\)通りであるような自然数が存在します。その場合、そのような最小の自然数が必ずありそれが\(Ta(n)\)の値となるわけです。そこでこの記事では2つの正の3乗数の和として表す方法が\(n\)通りである自然数を1つ求める方法を示し、実際に\(n=5\)の場合に求めてみます。これは\(Ta(5)\)を求めているわけではありませんが、その上界になります。

 

今回参考にしたのは以下の文献です。 

この本の第5章「3次曲線上の整点」の5.2「タクシーと2つの3乗数の和」に詳しいやり方が記載されており、それをMaximaで実装したものとなります。またWikipedia日本語版の「タクシー数」にも記載があります。

 

証明は全て省略し、計算に必要な定理と考え方だけを述べていくことにします。

まず、適当な自然数\(m\)に対して、\(u^3+v^3=m\)を満たす正の有理数の組\((u,v)\)をn個生成し、それらを\((u_1,v_1),(u_2,v_2),\cdots,(u_n,v_n)\)とします。この時どの組\(u_i,v_i\)でも\(u_i\)と\(v_i\)の分母は同じになります。そこで\(u_1,\cdots,u_n\)の分母を全てかけた数を\(D\)とします。どの組\((u_i,v_i)\)でも\(D\,u_i,\, D\,v_i\)は必ず正の整数になることに注意します。そして、その時、

$$(D\,u_1)^3+(D\,v_1)^3=m\,D^3 \\ \vdots \\ (D\,u_n)^3+(D\,v_n)^3=m\,D^3$$

が成り立ちます。つまり\(m\,D^3\)は2つの正の3乗数の和として表す方法が\(n\)通りあることが分かります。従って次の式が分かります。

$$ Ta(n) \leq m\,D^3 $$

 

では、\(m\)をどのように選び、どのような方法で\(u^3+v^3=m\)を満たす有理数\(u, v\)を必要な個数である\(n\)個、生成することができるのでしょうか。

定理:\(u^3+v^3=m\)は\(m=7\)、\(m=9\)ととればrankが正の楕円曲線に双有理同値となる。rankが正の楕円曲線には、正の有理点が無限に存在する。

従って\(m=7\), \(m=9\)などととれば良いことがわかります。そして\(u^3+v^3=m\)に双有理同値となる楕円曲線\(E\)を求めます。\(E\)上での有理点を1つ見つけ\(P\)とします。さらに\(2\,P, 3\,P,4\,P,,,\)と計算し、それらを双有理変換で\(u^3+v^3=m\)上の点に引き戻して、正の有理点になっているかどうか確認します。そのようにして\(n\)個の正の有理点が見つかれば、前述の方法で\(m\,D^3\)が求まります。

注意点として、定理から、必要な個数の有理点が存在することはわかるのですが、前段落の方法で、必要な個数の有理点が必ず求まるとは限りません。例えば最初に指定する有理点がいわゆる「ねじれ点」だとうまくいきません。

 

\(m=7\)として、Maximaによる具体的な計算は下記のJupyter notebookをご覧ください。