累乗数を含まない区間に上限はあるか? | すた・ばにら

すた・ばにら

2019/11/29にYahoo!ブログ「すた・ばにら」より移植処理しました。

タイトルの質問に対して、直感的な結論はほぼ間違いなく「ない」になると思う。恐らくきちんとした
証明も構成されていると思われるものの、その導き方がよく分からない問題なのである。

要素を平方数に限定すれば、証明は容易である。平方数 n2 と (n+1)2 との差は 2*n + 1 であり、
この式は隣り合う平方数の間が無限に広がっていくだけではなく、その広がる速度の情報をも与える。

しかしすべての累乗数を対象としたときの結果は、決して自明なものではない。平方数ではない立方数、
5乗数、7乗数 ‥ は、既にある平方数とは重ならず、その区間に入り込んでくるからである。例えば
2100 の次の平方数は (250 + 1)2 であるが、この2つの数は 251 + 1 だけ離れている。この区間に他の
累乗数が一つも存在しないことを確認しなければならない。

平方数からスタートして、すべての累乗数を無限に続く整数列にプロットしていく動作を考えよう。
指数が大きくなるにつれて累乗数そのものが整数列に占める比率も限りなく希薄になり、大雑把にみて
その希薄になるペースの方がずっと速いことは直感的に理解できる。また、この作業を行うにあたって
すべての累乗数を対象にする必要はない。例えば4乗数は平方数の部分集合であり、15乗数は立方数の
部分集合である。したがってベキ指数が素数の累乗数のみが、他とは重ならず新規にプロットされる
ものとなる。

プロット作業は、ちょうどエラトステネスの篩の如く機能するだろう。ただし、この累乗数方式の篩で
プロットされる累乗数は、元祖のエラトステネスの篩と異なり、極度に少ないことに気付く。むしろ
ふるい落とされずに残る整数(非累乗数)の方がずっと多い。実際、全体集合で見ても素数の集まりは
大集合であり、累乗数全体の集まりは小集合であることが知られている。(素数全体の逆数和は、正の
無限大に発散するが、累乗数全体の逆数和はある有限な値に収束する)

エラトステネスの篩では、2のみ残して2の倍数がすべて消し去られる。したがって2以外の素数は
すべて奇数に限られるのだが、隣り合った奇数が同時に素数となるケース(双子素数)がある。
累乗数方式の篩では消し去られる方が稀であるから、この逆のパターンを考えよう。2に相当するのが
平方数となるのだが、隣り合った平方数の間にどんな累乗数が入り得るかが考察の対象となる。

1から始まって絶対値が小さなうち(しばしば私は数の「原始時代」と呼んでいるのだが)は、多くの
累乗数が観察される。25 と 36 の間には立方数 27 と5乗数 32 が存在し、121 と 144 の間は立方数
125 と7乗数の 128 が存在する。しかし更に絶対値が大きくなれば、検証によってこのような現象が
そうしばしば起きることではないことに気付くだろう。むしろ隣り合った平方数の間に一つも累乗数が
存在しないことの方が多く、更にもう一つ先の平方数まで駒を進めても、なお累乗数が見つからない
ケースの方が圧倒的なのである。

隣り合った平方数の間に他の累乗数が存在しないケースの方が多いのだから、何か特殊な形の平方数を
考えて、そのすぐ次に現れる平方数との間に「常に」他の累乗数が存在しないような場合が構成できれば
問題は肯定的に解決
される。

ユークリッドが素数の無限性を証明したとき、素数階乗(primorial)を用いたように、この考え方を
平方数の場合に取り入れてみた。

素数階乗をベキ指数に持つ平方数を考える。例えば n2310 という数である。これは

n2310 = (n1105)2


の如く変形できるから、この次に現れる平方数は ( n1105 + 1)2 と書ける。

ベキ指数の特性上、n2310 は立方数であり、5乗数であり、7乗数であり、11乗数である。指数を
書き換えることによって、どんな累乗数であるかは容易に変形できる。立方数と考えるなら

n2310 = (n770)3


と書ける。この次に現れる立方数は (n770 + 1)3 であり、簡単な計算からこの数値が明らかに
( n1105 + 1)2 よりも大きいと分かるから、最初に取り上げた2つの平方数の間に他の立方数は存在しない。
同様に考えて5乗数、7乗数、11乗数も存在しないことが分かる。

しかし 13 乗数、17 乗数、19 乗数 ‥ p乗数がこの区間に存在しないことは必ずしも保証はされない。
n2310 は、もっとも小さなnとして2を採用しても十進法で 696 桁の数である。日常的に接する分には
大きな数と認識されるかも知れないが、整数を扱う問題の世界では「たかが数百桁」レベルなのである。

任意のnに対して、平方数 n200560490130 と、この次に現れる平方数の間に 31 乗以下のベキ指数を持つ
累乗数が存在しないことは言えるにしても、例えばこの区間に 1093 乗数が存在するか否かはその都度
計算して得られる数値的検証ではなく、証明をもってして行われなければならないのである。

私が知らないだけで、恐らく初等的な範囲で簡単な証明が存在しているのだろう。整数列中における
素数の密度と、平方数を始めとする累乗数の密度が如何ほどであるかを体感しているから、最終回答は
この冒頭にも述べた「上限は存在しない」になるのは、ほぼ間違いないと考えている。ユークリッドが
素数の無限性を証明したのと同程度にエレガントで直感的に理解できる証明がないものだろうか?

【追記】(1/15, 3:05)

全く簡単と思われて、証明を知らないのは調査不足によるものではないかと考えていたこの問題が、実は
とんでもなく難しい未解決問題であることが分かった。Wikipedia にも未解決と掲載されている。

「Wikipedia - 累乗数」
http://ja.wikipedia.org/wiki/%E7%B4%AF%E4%B9%97%E6%95%B0

Eldös は小さい方から並べて i 番目の累乗数を考え、隣り合う累乗数をそれぞれ ai , ai+1 としたとき
インデックス i に呼応して

ai+1 - ai > iC

を満たすようなある正の定数 C が存在すると予想している。

隣り合う累乗数の差が1となる例が8と9に限られるという Catalan の予想は比較的最近(2002年)に
肯定的に解決されている。上記の定数 C の下限を求めることは、絶対値の大きさの割に異常に近接する
隣り合った累乗数を見つけることに繋がる。例えば、非常に大雑把に考えて、数千桁、数万桁にも上る
オーダーの隣接する累乗数の差が2とか3になることはもちろん、差の値が数千とか数万という値を
取ることすら非常に稀であろうという類推が働く。

他方、いつもそうであるが、たかが数千桁、数万桁程度の「まったく小さな」数値までを調べただけで
安易な結論を出すことは当然できない。数学的手法を用い、絶対値の増大につれて必ず常にこれだけの
幅が開いてしまう、のような証明をもって行わなければ肯定的解決に向かわない厳しさがある。