7 : 25 拡張ペル方程式

← 7‒24 p↑ もくじ i 7‒26 n →

妖精の森 ♌ ペル方程式の夏

2020年12月27日
記事ID f01227

妖精の森へ、ようこそ…

スタンフォード大学の「代数的整数論」の講義で使われた資料を、中学生向けに分かりやすく再構成しました。テーマは拡張ペル方程式。ハイライトは、2020年夏に発見されたばかりの「改良版コンラッドの不等式」。…初心者歓迎、高校生以上の方もお楽しみください。

例えば x2 − 79y2 = 5 を満たす整数 (xy) は存在しません。その証明は意外と難しく、しかも隠された深い意味を持っています。この種の問題を扱います。


第1章 【ペル方程式】コンセプトは簡単【初心者歓迎

D1, 2, 3 などの整数としましょう。一つのことを考えているとき、D は決まった数、例えば 6 です。


§1 2個の未知数 x, y を持つ方程式のうち、x2 − Dy2 = 1 の形のものを(普通の)ペル方程式と呼ぶ。この方程式の右辺を何らかの整数 n に置き換えたものを拡張ペル方程式と呼ぶ。

〔例〕 D = 6 のペル方程式は x2 − 6y2 = 1。これは x = 5, y = 2 という整数の解を持つ(これ以外にも解を持つ)。

x2 − 6y2 = −2 は拡張ペル方程式の例(n = −2)。これは x = 2, y = 1 という整数の解を持つ(これ以外にも解を持つ)。


ペル方程式・拡張ペル方程式を考える場合、普通は整数の解(略して整数解)だけを問題にする。そのため「整数解」のことを、さらに略して単に「解」と呼ぶことが多い。ペル方程式の一つの解というのは、その式を満たす2個の整数のペア (xy) のこと。

D の値が何であろうと、x = 1, y = 0 は、ペル方程式 x2 − Dy2 = 1 の解になる…。

なぜなら x = 1, y = 0 ⇒ x2 − Dy2 = 1

x = −1, y = 0 もそう。…これら2個の解は、自明解(じめいかい)と呼ばれる。「つまらない解」という意味。

D が「平方数」でない場合、ペル方程式は必ず「自明解以外の解」を持つことが知られている。平方数というのは、

…のように、ある整数の平方(つまり2乗…自乗ともいう)になっているような数のこと。

重要事実1 D が平方数でないなら、ペル方程式 x2 − Dy2 = 1 は必ず y = 0 以外の解を持つ。

その証明は長くなるので、別記事に分けることにする。今は上記を事実として受け入れ、先へ進もう。

〔例〕 D = 2 のとき x = 3, y = 2 ⇒ x2 − 2y2 = 32 − 2 × 22 = 9 − 8 = 1

〔例〕 D = 3 のとき x = 2, y = 1 ⇒ x2 − 3y2 = 22 − 3 × 12 = 4 − 3 = 1

〔例〕 D = 4 は平方数。x2 − 4y2 = 1自明じめい解しか持たない(後述)。

〔例〕 D = 5 のとき x = 9, y = 4 ⇒ x2 − 5y2 = 92 − 5 × 42 = 81 − 80 = 1

§2 D が平方数でない場合、ペル方程式は必ず「自明解以外の解」を持つのだから、多少時間がかかってもいいのなら、次のような単純な方法で、いつかはそれを見つけることができる。例えば D = 7 として

の解(y = 0 以外)を一つ見つけてみる。まず【】を変形して「何かの2乗イコール…」という形にしよう:

  1. x2 = 1 + 7y2 ← 【】の両辺に 7y2 を足した(…移項ともいう)
  2. x2 = 7y2 + 1 【ウ】

】の右辺に y = 1, 2, 3, … を順に代入して、結果が何らかの整数 x の2乗になれば成功。

  1. y = 1 ⇒ x2 = 7y2 + 1 = 7 × 12 + 1 = 8 ← 8は整数の2乗じゃないよね 
  2. y = 2 ⇒ x2 = 7y2 + 1 = 7 × 22 + 1 = 29 ← 29も整数の2乗じゃない 
  3. y = 3 ⇒ x2 = 7y2 + 1 = 7 × 32 + 1 = 64 = 82 ← 64は8の2乗だっ!

確かに 82 − 7 × 32 = 64 − 63 = 1 なので、(xy) = (8, 3) は【】の解。わーい、解けた解けたっ。正の整数を小さい順に一つずつ試したのだから、これはペル方程式【】の最小の正の解。うん♪

y に負の数を入れてもいいけど、2乗してしまうので、正でも負でも結果は同じ。例えば…

…のどれも【】を満たす。解の符号は自由に選べて、どれでも本質的に同じことなので、とりあえず両方がプラスの場合(正の解と呼ばれる)を考えよう。この例で言えば (8, 3) が正の解。ちなみにゼロは正でも負でもないので、y = 0 のケース(つまり自明解)は「正の解」には含まれない。

練習 D = 6 のペル方程式 x2 − 6y2 = 1 について。最小の正の解は? (答え合わせ


解が小さいときは、このように「素朴に一つ一つ試す」やり方は十分に実用になる。けれど、例えば x2 − 109y2 = 1 の最小の正の解は、あきれるほど大きい:

筆算で一つ一つ試してこれを見つけるのは、まず無理だろう。ってか、最小のくせに、何でこんなにでかいんだ…

一方、x2 − 110y2 = 1 の最小の正の解は (xy) = (21, 2)D1 違うだけで、今度は普通に小さい解が見つかる。一体どういう仕組みになってるんだろう。見掛けはシンプルな問題だが、奥が深そうだ。

§3 重要事実1について。なぜ D が平方数ではいけないのか?

D が平方数ということは、ある整数 r について D = r2 が成り立つこと。このとき、ペル方程式 x2 − Dy2 = 1 は、

  1. x2 − (r2)y2 = 1 Dr2 に置き換えた
  2. x2 − (ry)2 = 1

となる。ここで Y = ry と置くと…

…となるが、y が整数なら、この Y も整数。つまり【】は「平方数から平方数を引いたら 1 になった」という意味を持つ。平方数というのは【】のような数なので、差が 1 になるとしたら 12 − 02 = 1 − 0 または (−1)2 − 02 = 1 − 0 のどちらかしかない。つまり x = ±1, Y = 0, y = 0 だが、それは上記の自明じめい解」。要するに、D が平方数のペル方程式は、つまらない

もう一歩踏み込んで考えみよう。

読者は (a + b)(c + d)展開の仕方をご存じだろう。念のため復習すると、X = c + d と書いた場合:

  1. (a + b)(c + d) = (a + b)X = aX + bX
  2. = a(c + d) + b(c + d) = ac + ad + bc + bd

この計算法を使うと:

つまり A + B というと、A − B というの積は、2乗の差 A2 − B2 に等しい。

逆に言えば、2乗の差は、和・差の積に等しい。例えば【】をこう書くこともできる。

これは「整数と整数を掛けたら 1 になりました」という意味だが(x, Y は整数なので、それらの和・差も整数)、そんなことが起きるのは、掛け算する整数がどちらも 1 の場合、またはどちらも −1 の場合に限られる。どういう場合にそんなことがあり得るのか考えると、やっぱり x = ±1, Y = 0, y = 0 という結論。必然的に自明解になってしまう。D が平方数では、つまらない解しかなく、話が始まらない。

ところで D が平方数ではない場合でも、整数ということにこだわらず、平方根(へいほうこん)を使えば、ペル方程式(または拡張ペル方程式)の左辺を次のように「2乗の差」の形で書くことができ、従って「和・差の積」に変形できる。

  1. x2 − Dy2 = x2 − (√D)2y2
  2. = x2 − (yD)2 = (x + yD)(x − yD)
  3. ここで D は「2乗すると D になる正の数」を表す。「ルート・ディー」とか「D の平方根」と読む。

例えば D = 2 の場合を考えると、具体的な計算法はともかく、結果は 2 = 1.414
この数を2乗すると、確かに約 2 になる(1.4142 = 1.414 × 1.414 = 1.999396)。

ちょっと難しそう…と感じる人もいるかもしれませんが、【】を機械的に使っただけの単純計算。落ち着いて1ステップずつ考えれば理解できるはず。これが分からないと以下の話はちんぷんかんぷんなので、納得できてから次の章に進んでくださいね。


どうしてもいまいちピンとこない人は、具体例で考えよう…

  1. x = 3, D = 2, y = 2 ⇒ x2 − Dy2 = 1
  2. このとき yD = 2√2 ⇒ x2 − (yD)2 = 1 上の式と同じ値
  3. 】を使うと (3 + 2√2)(3 − 2√2) = 1 …のはず(上の式と同じ値)
  4. 信じられなければ (3 + 2√2)(3 − 2√2) を展開してみよう。(√2)2 = √2 × √2 = 2 となることに注意。

第2章 【二次体の整数】難しいよぉ【飛び込んでみようじゃないか】

D平方数ではない正の整数としましょう(なぜ?)。以下で出てくる x, y, a, b などの文字は、特に断らない限り、どれも整数を表します。

§4 数学では、ややこしい式を簡単な式の積に分解することで、問題が分かりやすくなることが多い。例えば

を解けと言われると、やればできるが、ちょっと面倒くさい。この左辺が

と分解されているなら、最初の形より考えやすい。

ペル方程式や拡張ペル方程式

についても、

のように分解して考えることが役立つ。「整数解を求めたいのに平方根?」という違和感もあるかもしれないが、物は試し。この方向に進んでみよう。

x = a, y = b が【】の一つの解であるとき、【】に出てくるような形…

…をその解対応する実数と呼ぶことにする。例えば:

  1. x = 8, y = 3x2 − 7y2 = 1 の一つの解(§2)。
  2. 8 + 3√7 は、この解に対応する実数。

「解に対応する実数」は「解そのもの」ではないが、個々の解と1対1に対応している。例えば:

  1. x = 8, y = −3 も、同じ方程式の一つの解(最初の解の符号を一つ変えただけ)。
  2. 8 − 3√7 は、この符号を変えた解に対応する実数。

実数というのは「数直線上にある数」のこと。1.2 1 3 = 0.33333… は実数の例。8 + 3√7 = 15.93725…π = 3.14159… のような「無理数」も、実数の例。−1, 0, 1, 2, 3 などの整数も実数ですが、もちろん実数は整数とは限りません。


§5 誰にでも 使える 心の魔法… §2では、一つ一つ試す方法で「x = 8, y = 3 がペル方程式 x2 − 7y2 = 1 の最小の正の解であること」を突き止めた。けれど、そこで止まらず一つ一つ試す方法をもっともっと続けると、やがて別の解が見つかる:

  1. y = 4 ⇒ x2 = 7y2 + 1 = 7 × 42 + 1 = 113 ← 「10の2乗100」と「11の2乗121」の間かぁ 
  2. y = 5 ⇒ x2 = 7y2 + 1 = 7 × 52 + 1 = 176 ← 「13の2乗169」と「14の2乗196」の間かぁ 
  3. y = 47 ⇒ x2 = 7y2 + 1 = 7 × 472 + 1 = 15464 ← 「124の2乗15376」と「125の2乗15625」の間かぁ 
  4. あんた、いつまでやってんの(笑)?
  5. y = 48 ⇒ x2 = 7y2 + 1 = 7 × 482 + 1 = 16129 = 1272 ← 「127の2乗」ぴったりになった!(確かめてみよう)
  6. 〔検算〕 x = 127, y = 48 ⇒ x2 − 7y2 = 1272 − 7 × 482 = 16129 − 7 × 2304 = 1
  7. うおぉ、ホントだ、すげぇ!

つまり x2 − 7y2 = 1 の正の解は (x, y) = (8, 3) だけではなく、(x, y) = (127, 48) もある! 第1の解と第2の解の関係は、一見したところ、なんだかよく分からない。第2の解があるのなら、第3の解・第4の解…もあるのだろうか。この方程式の一般解は、一体どうなっているのか。これらの謎に立ち向かうためには、前節の「解に対応する実数」というコンセプトが役に立つ。

次の定理は、最初は意味が分かりにくいかもしれないが、直後の〔例1〕を見れば、シンプルな内容であることが分かる。

定理1 ペル方程式 x2 − Dy2 = 1 の一つの解に対応する実数を

とする。つまり s2 − Dt2 = 1 が成り立つとしよう。このとき…

…も、展開して整理すると、同じ方程式の一つの解に対応する実数になる。

〔例1〕 8 + 3√7x2 − 7y2 = 1 の一つの解に対応する実数(§4)。このとき…

…も、同じ方程式の解に対応する。前記の一つの謎「第1解と第2解の関係」が解明された!

〔補足説明〕 (A + B)2 の形の式については (A + B)(A + B) と考えて展開すると、次のようになる。

  1. (A + B)2 = (A + B)(A + B) = AA + AB + BA + BB
  2. 右辺を整理すると (A + B)2 = A2 + 2AB + B2

ついでに、同様に考えると (A − B)2 = (A − B)(A − B) = AA + A(−B) + (−B)A + (−B)(−B) なので…

このような式は、逆向きに使うことも可能。例えば、A2 − 2AB + B2 = (A − B)2

〔補足説明2〕 (3√7)2 = (3√7) × (3√7) = 3 × 3 × √7 × √7 = 3 × 3 × 7 = 63


定理1の証明 最初に、素朴な(結果的にややこしい)方法で…。上の〔例1〕のように (s + tD)2 を展開・整理すると:

定理1は【】の実数が解に対応するという主張。言い換えると、

が、ペル方程式

を満たす…という主張である。検証するため、実際に【】を【】に代入してみよう。【】の左辺は:

  1. x2 − Dy2 = (s2 + Dt2)2 − D(2st)2 ← 機械的に【】を代入しただけ
  2. = (s2)2 + 2(Ds2t2) + (Dt2)2 − 4(Ds2t2) ← 頑張って展開
  3. = (s2)2 − 2(s2)(Dt2) + (Dt2)2 展開の式を逆向きに使える形になった
  4. = (s2 − Dt2)2 【サ】

この値が 1 になってくれれば【】が【】を満たすことになり、証明完了。さて、定理の仮定から

が成り立つのだから、それを【】に代入すれば、確かに 12 = 1 となる。□

上記の証明は難しいわけではないが、「2乗を含む式」のさらに2乗を展開するので、ゴチャゴチャしている(特に、途中で展開できるものを全部展開すると4次式になってしまい、非常にゴチャゴチャする)。次のように「対応する実数」の世界の中で考えた方が、見通しがいい。

定理1の証明(改良版) 【】のように x, y の値を選択すると【】は:

同様に計算すると:

このとき、

  1. x2 − Dy2 = (x + yD) × (x − yD) おなじみの分解
  2. = (s + tD)2 × (s − tD)2 ← 【】【】の右辺が左辺に等しいので
  3. = [(s + tD)(s − tD)]2 ← 外側のかっこ内は和・差の積(それ何だっけ?
  4. = (s2 − Dt2)2 = 12 = 1 ← 【】より

となり、確かに【】が成り立つ。□

すっきり証明できたが、今度は「すっきりし過ぎて実感がかない」「抽象的でピンとこない…」みたいな感じを受けるかもしれない。

それは慣れの問題も大きい。分数の掛け算でも、負の数の掛け算でも、最初は多少戸惑うが、慣れてしまえば何ということはない。同様に「解に対応する実数」というコンセプトは「二次体(にじたい)の整数」という全く新しい世界に関係している。未知の世界に踏み込んだとき、最初は右も左も分からないのは当たり前。「すぐにはピンとこない」というだけで逃げ腰にならず、むしろ新しい世界に飛び込んでみよう。

泳げるようになる唯一の方法は、泳いでみること。自転車に乗れるようになる唯一の方法は、自転車に乗ってみること!

こつは、x + yD の形の実数を使う場合、x − yD の形の実数をペアで考えること…。整数解について「対応する実数の世界」に飛び込んで考えた場合、最終的には、どこかで「整数の世界」に戻ってくる必要がある。そのための「帰還きかん魔法」に必要なのが、今書いたペア。このペアを掛け合わせれば、ペル方程式の左辺に戻れる。これが定番の魔法。もう一つの「呪文」として、このペアを足し合わせても、平方根の部分が打ち消し合い、すっきり 2x になる。

楽器を弾くこと、外国語を話すこと…。最初は「自分には無理」と思えることでも、練習を続けると、いつの間にか、何も考えずに普通にできるようになってしまう。「普通にできる」といっても「必ずプロ級になれる」って意味じゃないけど、とりあえず「絶対無理」と思い込まず「もしかするとできるかも…」「何とかなるかも…」と思ってみること。「そう思ってみる」ことは、できるでしょ? それが大きな違いに…

練習 x2 − 6y2 = 1 の最小の正の解に、定理1を適用して、別の解を見つける。それが本当に解なのか確認。(答え


§6 0 乗」「−1 乗」「−2 乗」などの意味 この先の冒険の鍵となる重要コンセプト。知らない人もいるかもしれないので、念のため(知ってる方は、飛ばしてください)。まず簡単な計算から…

この意味は? 「10 を2個掛け合わせたもの」と「10 を3個掛け合わせたもの」の積は、「10 を5個掛け合わせたもの」。具体的に言えば、100かける1000は10万。うん、当たり前。それをこう書いても、意味は同じ…

もっと一般的に言うと…

その意味は…「10a 個掛け合わせたもの」と「10b 個掛け合わせたもの」の積は、「10a + b 個掛け合わせたもの」。当たり前?

じゃあ、これはどうかな?

10 を5個掛け合わせたもの」を「10 を3個掛け合わせたもの」で割ったら、結果は「10 を2個掛け合わせたもの」。10 が3個約分されるので、確かにね…。こう書いても、意味は同じ:

もっと一般的に言うと…

例えば a = b = 2 なら、この左辺102 ÷ 102 = 1 で、右辺102−2 = 100 となる。両辺は等しいので、理屈の上ではこうなる:

あれ? 100 乗って 1 なの? 0 乗だから 0 じゃないの?

両方の考え方を検証してみよう。例えば a = 3, b = 0 のとき、【】はこうなる:

  1. 103 × 100 = 103+0 ← 【】に a = 3, b = 0 を入れた
  2. 1000 × 100 = 1000 ← 上の等式で、簡単に計算できる部分を計算した

むむむ…。この式をじっと見詰めると、どうも 100 = 1 と考えるしかなさそうだ。もし 100 = 0 と考えると、左辺は 1000 × 0 つまり 0 になってしまう。微妙に違和感があるかもしれないが、心は広く、発想は柔軟に、「100 とは 1 のこと」と定義しちゃいましょう。


この 100 = 1 ということから、【】によって 10−1 も定義できる。

  1. 101 × 10−1 = 101+(−1) ← 【】に a = 1, b = −1 を入れた
  2. 10 × 10−1 = 100 = 1 ← 上の等式で、簡単に計算できる部分を計算した

これが成り立つためには、10−1 とは…「10 と掛け合わせると 1 になる数」つまり「10 の逆数」。

同様に 10−2 も定義できる。

  1. 102 × 10−2 = 102+(−2) ← 【】に a = 2, b = −2 を入れた
  2. 102 × 10−2 = 100 = 1

これが成り立つためには、10−2 とは…「102 と掛け合わせると 1 になる数」つまり「102 の逆数」。

この考え方をし進めると「10−3103 の逆数」「10−4104 の逆数」…などとなる。

さて、10 に限らず、どんな数 X(これは整数でなくても構わない)についても、「X を2個掛け合わせたもの」と「X を3個掛け合わせたもの」の積は「X を5個掛け合わせたもの」。

10 を全部 X に置き換えて、§6の議論を最初から全部繰り返すと、次の結論に至る。

  1. X0 とは 1 のこと
  2. X−1 とは X の逆数
  3. X−2 とは X2 の逆数
  4. X−3 とは X3 の逆数
  5. …以下同様

ただし X = 0 の場合、その逆数は存在しないので、一応 X ≠ 0 ということにしておこう。


んん~。なんか「学校の数学」みたいで、ちょっと退屈だったかも…

「これはこういうものなのだ。覚えなさい」とか押し付けられると、なんか不愉快だよね。

でも、気は持ちよう。「へ~、マイナス乗なんてのも考えられるんだ。何の役に立つのか知らないけど、面白いね♪」ってことで。

第3章 【ペル方程式の一般解】あせらず一歩一歩【経験値を高めよう】

この章以降もずっと、D平方数以外の正の整数とします。そして x, y などの英語のアルファベットの文字は、特に断らない限り、整数を表すものとします。ただし、ギリシャ文字は、整数とは限らない実数を表す…と約束しましょう。

ギリシャ文字? この章では μ(ミュー)という文字を使います。なんかかわいい名前だね?

§7 復習も兼ねて、定理1の内容をもう一歩前進させよう(違和感のあった証明も二回やれば少しは慣れる)。

定理2 s + tDu + vD のどちらも、ペル方程式

の解に対応する実数だとする。つまり、

が成り立つとする。このとき、

も(展開して整理すると)、同じペル方程式の解に対応する実数になる。

〔例2〕 8 + 3√7127 + 48√7 も、x2 − 7y2 = 1 の解に対応する実数(〔例1〕参照)。このとき…

  1. (8 + 3√7)(127 + 48√7) = 8 × 127 + 8 × (48√7) + (3√7) × 127 + 3 × 48 × (√7)2
  2. = (8 × 127 + 3 × 48 × 7) + (8 × 48 + 3 × 127)√7 = 2024 + 765√7

…も、同じ方程式の解に対応する。検算:


複素数をご存じの方は、〔例2〕の計算が「なんだか複素数の掛け算に似てるなぁ」と感じたかもしれません。

複素数の掛け算は、i = √−1 という特別な数を含むもので、普通に計算すればいいのですが、ただし i2 が現れたら、それを −1 に置き換える…というものです。

一方、無理数 7 を仮に j と書くと、〔例2〕の計算は、8 + 3j127 + 48j の積に当たります。これも普通に計算すればいいのですが、ただし j2 が現れたら、それを 7 に置き換えます。確かに、なんだか似てますね…


定理2の証明 【】について

と書いて、右辺を展開し、左辺と比較するとこうなる(【】【】と同様):

素朴な発想としては、【】の (xy) を直接【】に代入してゴチャゴチャ計算し、この (xy) が確かに【】を満たすことを言えばいい(やればできる)。ここではゴチャゴチャ計算せず、同じ結論を導こう。定理1の証明(改良版)をまねると…

】は【】を逆に書いただけだが、その符号を変えた次の式も成り立つ。

ピンとこなければ、【】の左辺を実際に展開・整理して【】と見比べてみよう。【】の右辺の x の部分は、左辺を展開したものについて「プラス同士の積」と「マイナス同士の積」の和なので【】と同じ。y の部分は、「プラスとマイナスの積」と「マイナスとプラスの積」の和なので【】とは符号が逆。…そもそもなぜ【】を考えるのか。その訳は【】と【】のペアが「帰還魔法」に必要だから。

このとき、

  1. x2 − Dy2 = (x + yD) × (x − yD) おなじみの分解
  2. = (s + tD)(u + vD) × (s − tD)(u − vD) ← 【】【】の右辺が左辺に等しいので
  3. = (s + tD)(s − tD) × (u + vD)(u − vD) ← 積の順序を変え「帰還魔法」発動
  4. = (s2 − Dt2) × (u2 − Dv2) = 1 × 1 = 1 ← 【】より

となって、要するに x2 − Dy2 = 1 なので、【】の (xy) は確かにペル方程式【】の解。□

§8 ペル方程式 x2 − Dy2 = 1 の一つの解 (x1y1) に対応する実数を、μ(ミュー)と呼ぶことにしよう。

このとき、

も、同じペル方程式の解に対応する実数。これはすで定理1で証明したことだが(〔例1〕参照)、「定理2s + tDu + vD がどちらも x1 + y1D に等しい場合」と考えてもいい。こうして得られる2解 (x1y1)(x2y2)定理2を適用すると、次の実数もまた、同じペル方程式の解に対応している(〔例2〕参照)。

ここで【】の右辺に【】を代入すると:

2解 (x1y1)(x3y3) に再び定理2を適用し、上と同じように考えると、次の実数もさらにまた、解に対応している。

このような操作を無限に繰り返すことができる!

(x1y1) をこのペル方程式の最小の正の解としよう。このとき、それに対応する実数 μ 2 より大きい。なぜなら、x1, y1 はどちらも 1 以上(正の整数だから)、D2 以上(平方数ではない正の整数だから)。つまり:

さて、今見たように

は、どれもペル方程式の解に対応しているが、2 より大きい数を2乗・3乗・4乗…すれば、どんどん大きくなっていく。次々に前より大きくなるのだから、当然どの値も異なる

D は平方数以外の正の整数」という大前提の下で、ペル方程式は、必ず自明じめい以外の解を持つ(§1重要事実1)。解の符号は自由に選べるので(§2)、必ず正の解が一つはある(そのうち「最小の」正の解に対応する実数が μ)。すると…「一つはある」どころの騒ぎではなく…ペル方程式には無限個の解があることが分かる。なぜなら、解に対応する実数が【】のように無限種類あるのだから。

〔注〕 解に対応する2個の実数 x + yD, x + yD が異なるなら、x ≠ xy ≠ y の少なくとも一方が成り立つ。だから (xy)(xy) は異なり、これら2個の実数は異なる解に対応している。

§9 【】の μ の指数は 1, 2, 3, 4, … となっている。0 は駄目なのだろうか(0 乗は 1)。試してみると:

これは、ペル方程式 x2 − Dy2 = 1 の自明解 (1, 0) に対応している。

では μ の指数 が −1 だと、どうなるか(−1 乗とは逆数のこと)。§10で具体例を挙げるが、一般論としては、こうなる:

  1. μ−1 = (x1 + y1D)−1 =  1 x1 + y1D 【ハ】
  2. =  x1 − y1D (x1 + y1D)(x1 − y1D) ← 分母を有理化(何それ?
  3. =  x1 − y1D x12 − Dy12 ← この分母は「ペル方程式の左辺に解を入れた」形(だから1に等しい!)
  4. =  x1 − y1D 1 = x1 − y1D

面白いことに、実数 μ が表す解(=最小の正の解)を (x1y1) とすると、μ−1 は、その y-座標の符号を変えた解 (x1, −y1) を表す!

では −2 乗は?

  1. μ−2 =  1 μ2 −2 乗の定義
  2. =  1 (x1 + y1D)2 =  1 x2 + y2D ← 【】より

これは【】の分数で添え字(文字の右下の小さい数字)が変わっただけ。【】と同様に変形すれば:

つまり μ−2 が表す解は、μ2 が表す解 (x2, y2)y-座標の符号を変えたもの。

−3 乗、−4 乗なども同様。結論として、どんな整数 k(正でもゼロでも負でもいい)を考えても、実数 μk は、ペル方程式の解に対応している(ただし、プラス乗とマイナス乗の違いは、対応する解の y の符号が逆になるだけ)。

§10 具体例で確かめてみよう §2では、ペル方程式 x2 − 7y2 = 1 の最小の正の解が (x1, y1) = (8, 3) であることを確かめた。この場合 μ = 8 + 3√7。〔例1〕では μ2 = 127 + 48√7 すなわち (127, 48) も解であることを見た。〔例2〕では μ3 = 2024 + 765√7 すなわち (2024, 765) も解であることを見た。

(8, 3), (127, 48), (2024, 765), … という解だけを見ると、これらの数字がどういう関係になっているのか分かりにくい。「解に対応する実数」という観点からは、これらは単に μ1, μ2, μ3, … にすぎない。

μ0 = 1 + 0√7 すなわち (1, 0)自明じめい解。次に −1 乗を考えてみる。

  1. μ−1 = (8 + 3√7)−1 =  1 8 + 3√7
  2. =  8 − 3√7 (8 + 3√7)(8 − 3√7) 分母を有理化
  3. =  8 − 3√7 82 − 32 × 7 ← この分母はペル方程式の左辺の解を入れたもの(1に等しい)
  4. =  8 − 3√7 1 = 8 − 3√7

これは、解 (8, −3) に対応している。同様に μ−2 = 127 − 48√7 すなわち (127, −48) も解(確かめてみよう)。

では、この μk の形で解は全部だろうか?

答えはノー。μk には、もう一つの自明解 (−1, 0) に対応する実数 −1 + 0√7 = −1 が含まれていない。そればかりか、上記の方法では符号が (+, +) の解、(+, −) の解は作れるものの、符号が (−, −) の解、(−, +) の解が全然出てこない。例えば、解 (−8, −3) に対応する実数 −8 − 3√7 は、この μk に含まれていない。…とはいえ、μk 型の解の符号を全部逆にすればこれらを表現できるので、要するに −μk も解に対応している…というだけの話。両者をまとめて ±μk と書けば解決!

±μk の形で、今度こそ、全部の解が漏れなく表されるか?

「拡張ペルではない普通のペル方程式」に関する限り、答えはイエス! 例えば x2 − 7y2 = 1 の一般解は ±μk = ±(8 + 3√7)k で表され、それ以外に解はない。D = 7 に限らず、一つのペル方程式は、無限個の解を持つものの、それらは全部 ±μk という同じ一つの形で表される。

重要事実2 ペル方程式 x2 − Dy2 = 1 の最小の正の解に対応する実数を μ とする。このペル方程式のすべての解は、±μk によって表される(k は、どんな整数でも構わない)。μ の値は D によって異なる。

±μk が全部、解になることは既に確かめた。重要事実2は「そして、それ以外の形の解はない」というもの。その証明は難しくないが、もうちょっと経験値を積んでから取り組んだ方が見通しがいい。全部を一気に理解しようとあせらず、今はとりあえず上記を事実と認め、先へ進もう。

練習 ペル方程式 x2 − 5y2 = 1 について。μ を書き表してみよう。それを使って μ2, μ3 を求め、それらも解に対応していることを確認。μ0, μ−1, μ−2 も具体的に計算してみよう。(答え


§11 「分母の有理化」とは? 分数の分母が無理数のとき、それが有理数になるように、分母・分子に同じ数を掛けること。具体的に、この記事で必要になるのは、分母が x + yD のような「平方根を含む和」のとき、分子と分母に x − yD を掛けて分母の平方根をなくすこと。その方法で、なぜ分母の平方根がなくなるのか? 「和・差の積」に分解する方法を逆向きに使うと、「2乗の差」となり、平方根の部分が2乗されるから。

  1. 〔例〕  4 5 + 2√3  の分母を有理化すると…
  2. =  4 × (5 − 2√3) (5 + 2√3) × (5 − 2√3) =  20 − 8√3 52 − (2√3)2 =  20 − 8√3 25 − 12
  3. =  20 − 8√3 13

このように変形しても、必ずしもメリットはない。けれど、次の例のように、分母を有理化すると分数が「割り切れる」ことがある。

  1. 〔例〕  7 + 2√7 8 + 3√7  の分母を有理化すると…
  2. =  (7 + 2√7) × (8 − 3√7) (8 + 3√7) × (8 − 3√7) =  56 − 21√7 + 16√7 − 6 × 7 82 − (3√7)2 =  14 − 5√7 64 − 32 × 7
  3. =  14 − 5√7 1 = 14 − 5√7

何かの計算をして、結果が例えば 6 2 という分数になったとき、それを「答え」とはせず、割り切れるものは割り切って、答えを 3 とするのは常識だろう。それと同じことで、 7 + 2√7 8 + 3√7 のような分数を中途半端に放置せず、割り切れるものは割り切って 14 − 5√7 とした方がすっきりする。

特に、分母 x + yD が「ペル方程式の解に対応する実数」なら、有理化された分母は、

となる。分母が 1 ということは、割り切れて、分数を使わずに書き表せるということ…。だから、ペル方程式・拡張ペル方程式の話で分数が出てきたら、とりあえず分母を有理化してみるのは自然な発想。いつも割り切れるとは限らないけどね!

第4章 拡張ペル方程式

第3章では「ペル方程式」の一般解を考えました。以下では、いよいよ本題の「拡張ペル方程式」にいどみましょう。…といっても入り口は、ここまでの内容を一歩進めるだけ。引き続き D は「平方数以外の正の整数」。x, y などは整数です。

§12 定理3 s + tD を、拡張ペル方程式

の一つの解に対応する実数だとする。つまり:

さらに、u + vD を、同じ D についてのペル方程式 x2 − Dy2 = 1 の一つの解に対応する実数だとする。つまり:

このとき、次の実数も、拡張ペル方程式【】の一つの解に対応する。

〔例3〕 7 + 2√7 は、拡張ペル方程式 x2 − 7y2 = 21 の一つの解に対応している:

8 + 3√7x2 − 7y2 = 1 の一つの解に対応することは、分かっている(§4)。このとき、

も、x2 − 7y2 = 21 の別の解に対応する。

〔検算〕 982 − 7 × 372 = 9604 − 9583 = 21


定理3の証明 定理2の証明とほとんど同じ(分かりにくい点があれば、定理2の証明参照)。【】について

と書くと xy は次のようになる。

この (xy) が【】を満たすことを言えばいい。このとき、

となることに注意すると、

  1. x2 − Dy2 = (x + yD) × (x − yD) おなじみの分解
  2. = (s + tD)(u + vD) × (s − tD)(u − vD) ← 【】【】より
  3. = (s + tD)(s − tD) × (u + vD)(u − vD) ← 積の順序を変え魔法発動
  4. = (s2 − Dt2) × (u2 − Dv2) = n × 1 = n ← 】【】より

となるので、【】は確かに【】を満たす。□

§13 解のグループ 定理3をこう言い換えることができる。「ある拡張ペル方程式の一つの解」に対応する実数を α(アルファ)、「同じ D についての、普通のペル方程式の一つの解」に対応する実数を X とすると、それらの積 αX もまた、最初の拡張ペル方程式の解に対応する。X±μk の形を持つのだから(§10重要事実2)、結局、α が拡張ペルの解に対応するなら、±αμk の形の実数は、どれも同じ拡張ペルの解に対応する。

具体例 〔例3〕のケースでは、α = 7 + 2√7, μ = 8 + 3√7 なので:

  1. k = 0 のとき αμk = (7 + 2√7) × 1 = 7 + 2√7 α そのもの
  2. k = 1 のとき αμk = (7 + 2√7)(8 + 3√7) = 98 + 37√7 αμ
  3. k = 2 のとき αμk = (7 + 2√7)(8 + 3√7)2 = 1561 + 590√7 αμ2
  4. k = 3 のとき αμk = (7 + 2√7)(8 + 3√7)3 = 24878 + 9403√7 αμ3

±αμk の先頭には「プラス・マイナス」が付いているので、全体を −1 倍しても構わない。例えば 7 + 2√7 すなわち (7, 2) が解ならば、−7 − 2√7 すなわち (−7, −2) も解。k が負の例も考えてみよう:

  1. k = −1 のとき αμk =  7 + 2√7 8 + 3√7 = 14 − 5√7 αμ−1
  2. k = −2 のとき αμk =  7 + 2√7 (8 + 3√7)2 = 217 − 82√7 αμ−2
  3. k = −3 のとき αμk =  7 + 2√7 (8 + 3√7)3 = 3458 − 1307√7 αμ−3

上記の 7 + 2√7 8 + 3√7 などの分数は、分母を有理化すると、上記のようにきれいに割り切れる(やってみよう)。理由=有理化された分母はペル方程式の左辺に当たり、ペル方程式の性質上、1 に等しい。

〔参考〕 μ, μ2 などで割るより、直接 μ−1, μ−2 などを掛けた方が手っ取り早い。前者と後者は、簡単な関係(§9)。例えば、μ = 8 + 3√7 で割る代わりに、μ−1 = 8 − 3√7 を掛けてもいい。

一つの解に対応する実数 α があるとき、±αμk の形の実数によって表されるいろいろな解たちは、どれも「仲間」「同じ家族の一員」と考えることができる。このような「家族」のことを解のグループと呼ぶことにしよう。同じ解のグループに属する解たちのことを、同系列(の解)と呼ぶことにする。同系列の解に対応する実数たちのことも、同系列(の実数)と呼ぶことにする。

もちろん α 自身も、同じグループの一員(k = 0 のケースに当たる)。

普通のペル方程式の場合、μ−1, μ−2 などを考えても、符号が1カ所変わるだけで、目新しい解は見つからなかった(§9)。拡張ペルの場合、αμ−1, αμ−2 などを考えると、目新しい解が見つかることがある。例えば上記の (14, −5) のような解は、プラス乗を考えたときには現れなかった。

〔検算〕 142 − 7 × (−5)2 = 196 − 175 = 21

といっても、見た目が「目新しい」だけで、解 (14, −5) は解 (7, 2) の仲間であり、同じ解のグループに属している。もちろん全体を −1 倍した (−14, +5) も解であり、仲間である。

一方、符号を1カ所だけ変えた (14, 5) も解だが、上記 ±α(8 + 3√7)k の形ではこれを表せない。この事態を解決するためには、α = 7 + 2√7 の代わりに、その「魔法の相棒」の 7 − 2√7 を使えばいい。

  1. k = 1 のとき (7 − 2√7k = (7 − 2√7)(8 + 3√7) = 14 + 5√7 出た出たっ
  2. k = 2 のとき (7 − 2√7k = (7 − 2√7)(8 + 3√7)2 = 217 + 82√7
  3. k = 3 のとき (7 − 2√7k = (7 − 2√7)(8 + 3√7)3 = 3458 + 1307√7

これらの実数に対応する解たちは、最初に考えた解のグループの中には入っていないのだから、同系列ではない。別系列の解である。

§14 解のグループは何種類? 普通のペル方程式の場合、全部の解が ±μk という型を持つ(重要事実2)。拡張ペルの場合、同様になるとは限らない。上記の例では、±(7 + 2√7k 型の解と ±(7 − 2√7k 型の解の2系列が存在している。言い換えると、解のグループが2種類ある。この例に関する限り、2系列といっても、内容は (14, −5)(14, 5) のように「符号が1カ所違うだけ」で本質的には同じ…。だが、次の例を考えてみよう。

引っ掛け問題 拡張ペル方程式 x2 − 7y2 = 57 の解を求めよ。

引っ掛かった答案 この方程式を変形すると x2 = 7y2 + 57 となる。y = 0 のとき、この式は x2 = 7 × 02 + 57 = 57 を意味するが、それを満たす整数 x はない。y = 1 のとき、この式は x2 = 7 × 12 + 57 = 64 を意味するが、それを満たす整数は x = ±8。これで解が見つかった。§13と同様に考えると、解に対応する実数として次の2系列が存在する。

「具体的には…」の部分は、§13と同様に計算した。

真相は? 上の答案に書いてあることは、間違っていない。けれど y = 1 で止まらず、もう少し検索を続けると…。y = 4 のとき x2 = 7 × 42 + 57 = 169 となり、これは x = ±13 という解を持つ。上と同様に考えると、次の実数も解に対応している。

検算すると、これらも立派な解であり、しかも最初の2グループとは、内容が完全に異なる(符号を変えただけでは済まない)。話がややこしくなってきた…。解が1個見つかっても検索終了できない(このように、違うパターンの解がまだあるかもしれない)ということは、解が2個見つかっても検索終了できないかもしれないということを暗示していて、「どこまで探せば終了できるの?」「一般解としては何種類の解のグループを見つければいいの?」という疑問がく。§13にしても、本当にこれで解は全部なのだろうか。どうやって確かめればいいのだろう。


気を取り直して状況を分析してみよう。y = 4 でもストップせず、さらに探索すると、次に y = 7 が解を与えるが、それは系列4として既に検出されている。さらに続けると今度は y = 16 だが、それは系列2として検出済み。「これ以上続けてもループするだけだろう」「系列4で打ち止めだろう」という予感がするが、それをきっちり示すにはどうすればいいか?

§13に戻って、解の分布状況をじっとにらむと、解に対応する実数たちは「μ 倍の間隔」で並んでいる。「μ 倍」ではイメージしにくいので、大ざっぱに「10 倍ずつ増える」と考えてみる。この大ざっぱな世界では、仮に実数 365 が解に対応していれば、

…などは、同じグループの解たちに対応している。イメージが湧いただろうか?

このような「10 倍ずつ」の世界では、「解に対応する正の実数」が1個でも存在するなら、「それと同系列の実数」が必ず「1 以上、10 未満の範囲」に存在する。なぜなら、最初の実数がどんなに大きくても(例えば 36500)、1回 10 で割るごとに整数部分は1桁小さくなるのだから、何回か 10 で割れば必ず整数部分が1桁になる。逆に最初の数が小さ過ぎるなら、何回か 10 倍すればいい。系列が2個以上あっても(例えば 3651234)、どの系列も「1 以上、10 未満の範囲」にちょうど1個の同系列の数を持つ。だから、「1 以上、10 未満の範囲」内にある「解に対応する実数の数」を調べれば、解の系列が合計何種類あるか分かるはず。

同様に「解に対応する実数たち」が「μ 倍の間隔」で並んでいるのなら、「1 以上、μ 未満の範囲」に必ず同系列の仲間がいるはず。

…発想の方向性としては、良いアイデアのように思える。まだ漠然としたアイデアだけどね♪

第5章 コンラッドの不等式

拡張ペル方程式の「大きな解」については、それと同系列の「小さな解」が存在している可能性があります。例えば、(98, 37) に対する (7, 2) のように(§13)。その系列の「一番小さい解」さえ見つければ「大きな解」は機械的に作れます(§13)。問題は「一番小さい解はどのくらい小さいのか」。最悪でもこの大きさを超えない…という限界が分かれば…。それが分かれば、その範囲内だけ探せば、それで話は済むわけです。


§15 拡張ペル方程式が与えられたとき、解のグループが何種類あるか、簡単には分からない(§14)。「何種類見つければ終わり」と決まっているわけではなく、もしかすると0種類(解なし)かもしれない。解なしの場合、どんなに探しても解は見つからないが、単純に一つ一つチェックする方法では、どこまで探しても「ひょっとすると、もっと大きい範囲に解があるのかも…」という可能性を捨て切れない。何しろペル方程式は、最小の正の解が1兆を超えることもある(§2)のだから…

この不透明な状況で、どうすれば過不足なく全種類の解を見つけられるのか?

検索範囲を限定できるかもしれない手掛かりとして、§14では次のようなことをチラッと考えた。

アイデア n0 以外の整数とする。拡張ペル方程式

について、ある一つの解 (st) があったと仮定して、その解に対応する実数を α = s + tD としよう。このとき、

の範囲にも、必ず解に対応する実数 α′ = s + tD があって、それが表す解 (st)(st) と同系列。ここで μ は、同じ D についての普通のペル方程式の「最小の正の解」に対応する実数で、2 より大きい(§8)。具体的に言うと、x2 − Dy2 = 1 の最小の正の解が (uv) なら μ = u + vD

α がもともと【】の範囲にあるなら、α 自身を α′ とすればいい。

アイデアの説明 解の整数 st は【】でどうせ2乗されるので、正でも負でも構わない。話を簡単にするため「どちらも負でない」と考える。st が同時に 0 になることはない(もしなれば【】左辺は 0 だが、それは n0 でないという前提に反する)。従って α = s + tD正の実数

§13によると、解に対応する実数 α について、αμk は全て同系列。だから、もし α が【】の範囲より小さければ、【】の範囲に入るまで、何度でも μ 倍すればいい。【】の範囲より大きければ、【】の範囲に入るまで、何度でも μ−1 倍すればいい。その結果の実数も同系列。

数直線の正の部分を、次のような区間に分けて考えると、どんな正の実数も、そのうちどれか一つの区間に含まれる。

正の実数 α もまた、どれか一つの区間に属している。その実数 αμ 倍すれば、結果の数値は右隣の区間に入るし、μ−1 倍すれば、結果の数値は左隣の区間に入る。もともと α がどの区間に属していようと、μ 倍ないし μ−1 倍を適切な回数繰り返せば、結果は「μ0 以上 μ1 未満」の区間(すなわち【】の範囲)にある数 α′ になる。これは、ある整数 k について α′ = αμk を求めることに当たるが、αμkα と同系列だから、α′α と同系列。

〔例4〕 D = 7 のとき μ = 8 + 3√7 = 15.937…§10参照。具体的な値については、電卓などで計算すればいい)。§14では、拡張ペル方程式 x2 − 7y2 = 57 について、何種類かの解を見た。一つは (8, 1)。対応する実数 α = 8 + 1√7 = 10.645… は確かに【】の範囲にある。

(13, 4) は、別系列の解。それに対応する実数 α = 13 + 4√7 = 23.583… は【】の範囲を超えている。そこで μ で割ると(あるいは、同じことだが、μ−1 = 8 − 3√7 を掛けると)、結果は α′ = 20 − 7√7 = 1.479… となり【】の範囲に入る。つまり、解に対応する実数を考えた場合に、解 (13, 4) は【】を満たさないけれど、それと同系列で【】を満たす解 (20, −7) が存在する。


原理的には【】の範囲の実数に対応する解だけを考えることで、解のグループを全種類、発見できる。〔例4〕では、この範囲は 1 以上、約 16 未満。十分に範囲がしぼられている…ように思える。

でも実際には、〔例4〕の (20, −7) のように、【】の範囲にある仲間(同系の解)は、負の t を持つケースがある。その場合、α は、α′ = 20 − 7√7 のように「s から別の数を引き算」する形になる…。整数 s が大きい数でも、そこから別の大きい数を引き算すれば、結果は【】の範囲になり得る。この引き算の可能性があるので「s16 未満」とは限らない。

〔例〕 (136, 45)s2 − 7t2 = 4321 の解。対応する実数 α = 136 + 45√7 = 255.058…μ2 以上 μ3 未満。【】の範囲にするため μ2 で割ると、結果は α′ = 2152 − 813√7 = 1.004…。確かに【】の範囲に入るが、それを作る s = 2152, t = 813 は、どちらも 16 未満どころでは済まず、桁違いに大きい。出発点の s, t16 よりかなり大きい。

つまり【】を根拠に「解となる2個の整数は、どちらも μ 未満」と言うことはできない…。アイデアは良さそうに思えたのに、なぜうまくいかないのだろう?

】は「解に対応する実数」についての範囲指定。「解となる整数」そのものについての範囲指定ではない。「116 の間」のような狭い範囲でも、そこには α になるかもしれない無限個の実数が詰まっている。無限個の可能性をチェック…というのは(少なくとも直接的には)無理だろう。

私たちが知りたいのは「一番小さい整数解は、どの範囲にあるか」。重要なのは、実数 α の範囲ではなく、整数 st の範囲。それが分かれば、可能性は有限個になる(例えば「116 の間の整数」のように…)。定理1定理2定理3などにおいて、私たちは「解に対応する実数の世界」と「解の整数の世界」を行き来する魔法を使った。それは s + tD の形の数を考えるとき、その相棒である s − tD の形の数も考え、このペアを組み合わせること…。上のアイデアでは、相棒を無視して s + tD しか考えていない。だから、いつもの魔法が使えない…。


§16 再挑戦 失敗も貴重な経験。「相棒とペアで考えることが鍵かも…」と気付けたのは、収穫だった。それを心にきざみつつ【】について、同様のアイデアをもう一度試してみる。まずは、α(アルファ)の大切な相棒に、名前を付けよう。β(ベータ)と呼ぶことにする:

t は負でないので s + tD ≧ s − tD すなわち α ≧ β が成り立つ。

(st) は【】の解…と仮定しているので、s2 − Dt2 = n だが、これは次のことを意味する

α = s + tD は常に正(§15)。一方、【】によって β =  n α だが、この β の正負は n の正負によって異なる(n が正なら「正÷正」で正。n が負なら「負÷正」で負)。とりあえず n は正と仮定すると、β も正

α が解に対応するなら、αμ−1 =  α μ も同じグループの解に対応する(§13)。ただし、もし α α μ に置き換えるのなら、相棒 ββμ に置き換える必要がある。なぜなら【】の条件により、α とその相棒 βは一定の値 n であり、従って一方を μ で割るなら、他方を μ 倍しないと、計算が合わなくなる。α, β の値をそのように再選択するなら、結果は依然として相棒同士(なぜ?)。このとき α, β の比は、次のように変化する:

なぜなら  α′ β′ = (α ×  1 μ) ÷ βμ =  α β ×  1 μ2 だから。

〔補足説明〕 μ = u + vD とすると μ−1 = u − vD となる(§8)。このとき…

…は、相棒同士。実際、X = su − Dtv, Y = tu − sv と書くと α′ = X + YD, β′ = X − YD となっている。§12の【】【】の関係に似ている。

これがピンとこない人は、具体的な数値を当てはめて、自分で計算してみよう。例えば D = 7, s = 98, t = 37, u = 8, v = 3 として〔例3〕を逆にたどることができる。

このようにして作られる α′, β′ を、あらためて α, β と呼んでも差し支えない(単なる変数名の問題なので。内容的には、最初に選んだ解と同系列の、別の解を再選択することに相当)。この一連の操作を手繰り寄せ(たぐりよせ)と名付けておく。α ≧ β なので比 α β はもともと 1 以上。ものすごく大きいかもしれない。けれど、どんなに比が大きくても、1回手繰り寄せるごとに比は 1 μ2 倍されるので、必要なだけこの操作を繰り返すと、比はだんだん小さくなって(つまり α, β はだんだん接近して)、いつかは 1 以上、μ2 未満になるμ > 2)。具体的には「商が 1 より小さくならない範囲で、最初の α βμ2 で何回割り算できるか?」を考えればいい。k 回割れるとするなら、k 回手繰り寄せると、今言った状態になる。

イメージをつかむため、仮に α = 6000, β = 0.03, μ = 10 とする(αβ の比は 200000)。1回手繰り寄せると α = 600, β = 0.3αβ の比は 2000)。両者は接近する。もう1回手繰り寄せると α = 60, β = 3。これで比は 20、望み通り 102 未満になった。もう1回手繰り寄せると、α = 6, β = 30 となり、「接近」を通り越して「すれ違って」(大小関係が入れ替わって)しまう。つまり「比 α β1 以上」という条件を守れない。

比が 1 以上ということは、α ≧ β という大小関係が保たれているということ。私たちは範囲指定の不等式を導きたいのだから、数値の大小関係がはっきりしている方がいい。だけど範囲を制限したいのだから、考えている数値の範囲をしぼれるなら絞りたい…。ひとまず α, β の大小を気にせず、漠然と「大きい方を小さい方で割った商」を比と呼ぶなら、比をさらに小さく「μ 以下」にできる。そのことを定理4として、今から証明しよう。

〔注〕 「どんどん手繰り寄せれば αβ をいくらでも接近させられる」というわけではない。前記の例で言うと、α = 6, β = 30 において「大きい方を小さい方で割った商」は、確かに 10 以下。けれど、調子に乗ってさらに手繰り寄せを続けると、α = 0.6, β = 300 のように、両者は逆方向に離れていってしまう。

〔参考〕 α ≧ β という条件下では、整数 n が正(つまり 1 以上)の場合、必ず α ≧ 1。なぜなら、もし α < 1 なら、β =  n αα より大きくなってしまう。β =  n α という関係は【】による。

定理4 拡張ペル方程式【】で n が正だとして、この方程式が解 (st) を持つと仮定する(解として、負でない s, t を選択する)。このとき、その解に対応する実数 α とその相棒 β に関して:

…という条件を満たすような α′, β′ を見つけることができる。ここで、α′α と「同一グループの解」に対応する実数であり、β′α′ の相棒。


http://www.faireal.net/image/public_domain/2020-pell-3.png

〔注〕 α′ = β′ なら、どちらをどちらで割っても構わない(商は 1)。

定理4の証明 上記のように、α, β については(必要なら手繰り寄せで値を選び直すことにより)、比 α β

にできる。もし α β ≦ μ なら、単に αα′ と呼び ββ′ と呼べば(♯)はもう成立している。問題はそれ以外の場合、つまり…

…となる場合。この不等式に正の数 β を掛けると:

つまり α は、βμより大きいけれど、βμ2 倍よりは小さい(画像参照)。だから、α = βμ × C とすると:

これを正の数 βμ で割ると、

となる(C は何らかの実数)。ここで手繰り寄せを行うと…

(☆)の関係があるため、β′ = βμα′ = βC より大きい(これまでと大小関係が入れ替わる)。従って(♯)の商は

C(☆)の範囲なので、商 μ Cμ 以上になることはなく、1 以下になることもない。すなわち(♯)の条件を満たす。□

定理4の意味は次の通り。解に対応する実数 α, β は、その初期値がどんなにけ離れた値であろうと、それぞれ「同系列」という性質を保ちつつ、「大きい方は小さい方の μ 倍以下」という状態まで接近し合うことができる(手繰り寄せによって)。大小関係が不明のままだと考えにくいので、接近後の α′, β′ のうち大きい方をあらためて α、小さい方をあらためて β と呼ぶことにしよう(α′ = β′ という可能性もあるが、その場合は、どっちがどっちでもいい)。この改名によって、旧 αβ と呼ばれ旧 βα と呼ばれることもあり、その場合、名前と系列の関係が入れ替わってしまうが、全体として2種類のターゲット(ある一つの解の系列とその相棒の系列)を追跡していることに変わりなく、作戦の根幹には影響しない。

例えばの話、犯人ムサシと相棒コジロウをまとめて捕まえたい場合、たとえ逃走中のムサシとコジロウが名前を交換しても(ムサシがコジロウに変装し、コジロウがムサシに変装していても)、二人の居場所が分かり二人とも逮捕してしまえば、目的は達成される。

必要に応じて名前を入れ替えることで、不等式 α ≧ β が復活する!

出発点の旧 α, β は両方正。手繰り寄せは正の実数 μ で割ったり、μ を掛けたりする操作なので、符号には影響せず、新名称 α, β も両方正のまま。

しかも「αβ 以上の値を持つが、βμ 倍を超えることはない」(定理4より)。

この α さんから見ると…「いとしい相棒 β さんへ。私は、いつもそばにいます。あなたの μ 倍以内の場所にいますよ♡」

よーし、二人の相対位置が絞れてきた。接近したところを見計らって、犯人 α と相棒 β一網いちもう打尽だじんにできるかも…


変数名をそういうふうに選び直した場合、定理4の結論は、こうなる。

§17 一気になだれ込め! α, β の位置関係については、両者の中間地点 γ(ガンマ)を考えると、見通しが良くなる。具体的に言うと、次の性質を持つ実数 γ を考えよう。

  1. β を「とある正の数」倍すると γ になり、γ を「とある正の数」倍すると α になる
  2. …「とある正の数」を δ(デルタ)とすると:
  3. βδ 倍すると γ になり、γδ 倍すると α になる

つまり βδ = γ, γδ = α。その第2式から得られる δ =  α γ を第1式に代入すると、β( α γ) = γ, αβ = γ2 となるので:

  1. γ = √αβ 【ヨ】
  2. δ =  α γ =  α αβ =    α β

】によって具体的に定まる γ は、αβ幾何平均(きかへいきん)と呼ばれる。「倍率で考えた中点」に当たる。【】は、【】の関係 αβ = n を経由して「解そのものの世界」とつながっている:

幾何平均を考えたのは、この関係を使うため。定理4の手繰り寄せを行うと、α, β は、どちらも【】付近に集まる。そこを一気に取り押さえる!

γ, δ の定義から α = βδ2 であり、

となるが、これを【】に代入すると:

  1. 1 ≦ δ2 ≦ μ この δ は正なので…
  2. 1 ≦ δ ≦ √μ 【リ】

αγδであることに注目しよう。その γ の正体は【】であり、δ は【】の範囲にある。従って:

  1. α = γδ = (√n ← この δ が取り得る値の範囲を考えると…
  2. n ≦ α ≦ nμ = nμ 【ル】

捕まえたぞ! α に告ぐ。おまえは下と上から完全に包囲されている…。だが、§15での失敗を思い出そう。そう、実数を包囲しても、まだ相手には、潜伏できる場所が無限にある。実数ではなく整数を捕まえねば…。その鍵を握るのが相棒 β だった。βγ 1 δ 倍なので、上記と同様に:

  1. β =  γ δ =  n δ ← この δ の値の範囲は【】なので…
  2. n μ ≦ β ≦ n 【レ】

よーし、相棒も包囲できた! チャンスは今。いちかばちか、ここで魔法を使い「解そのものの世界」へ飛べるか試してみよう。いつもの「掛け合わせる」を使っても出発点【】に戻ってしまうだけで効果がないが、あきらめず、精神を集中して「足し合わせる」を発動。

】に解があると仮定して、α は【】の一つの解に対応する実数。その解を (xy) とすると、α = x + yD, β = x − yD なので、α + β = 2x。ところが【】と【】から、α + β つまり 2x は、次の値以下:

ゆえに x =  α + β 2 は【】の半分以下:

会心の一撃! 二つの世界がつながり、整数 x の範囲が、がっちり制限された!

】【】によれば、α, β はどちらも正。従って x =  α + β 2 が負になることはない。【】の範囲の、0 以上の整数(※)だけを考えれば、必ずそこに解がある――もしどこかに解があるのなら。その範囲に解がなければ、どこにも解はない。

(※) n が正なら、可能な最小値をもっと厳しく制限できる。少なくとも「1 以上の整数」とは言える。後で n が正とは限らない一般の場合を扱いたいので、制限を少し緩めて「0 以上の整数」としておく。


】が「改良版コンラッドの不等式」の核心。今年(2020年)の夏に発見されたばかりの、生まれたての不等式…。上記の議論では、とりあえず n は正と仮定した。正に限らない一般の n については、次章で扱う(§20)。

§18 具体例1 〔例3〕の x2 − 7y2 = 21 を再検討する。§13では α = 7 + 2√7 とその相棒 β = 7 − 2√7 に対応する2系列の解グループを得た。ところが、§14の検討によって「他にも系列がある可能性」が分かり、もやもやが生じた。すっきりさせておこう。

これは μ = 8 + 3√7, n = 21 のケース。【】によると、次の範囲にある 0 以上の x を調べれば十分。

従って、x0 から 11 までの整数を入れて、y が整数になるか見ればいい。それをやると、x = 7 だけが解を与えることが分かる。コンラッドの不等式による制限によって、それ以外の(本質的に異なる)種類の解はない。

〔参考〕 数論の予備知識がある人は、次のように考えると効率がいい(予備知識がなくてこの意味が分からなくても、問題ない。そのときは、整数を普通に1個ずつ試せばいい)。x2 − 7y2 = 21 という方程式では、左辺に含まれる 7y2 と右辺の 21 は、どちらも 7 の倍数。だから、解があるとしたら x2 も(従って x 自身も)7 の倍数。上記の不等式とあわせて考えると x = 0, x = 7 の2通りの可能性しかない。x = 0 では左辺は正にならないので、実際上 x = 7 だけを試せばいい。すると y2 = 4 となり、解 (7, ±2) が簡単に求まる。


注意 コンラッドの不等式は「この範囲にしか解がない」という意味ではない。正しい解釈は「この範囲を探せば、本質的に異なる解は全部検出される」。すでに見たように(§13)、解があるとすれば、同系列の解が(その範囲外に)無限個ある。

§19 具体例2 x2 − 79y2 = 5 が解を持たないことを証明せよ。

まず対応するペル方程式 x2 − 79y2 = 1 の最小の正の解を求める。§2 でやったような無邪気な方法(解が見つかるまで、数を一つ一つ試す)でも (xy) = (80, 9) が得られる。

〔検算〕 802 − 79 × 92 = 6400 − 6399 = 1

〔数論の予備知識がある場合〕 このペル方程式が成り立つためには「x279 で割ると 1 余ること」が必要。平方剰余じょうよを考えると、x = 79k ± 1 = 1, 78, 80, … を試せば実質2試行で同じ答えが得られる。

従って μ = 80 + 9√79, n = 5 となり、【】によると:

x0 以上 15 以下の整数を入れても、y が整数になるケースはない。コンラッドの不等式により、x = 16 以上の「新しい(本質的に異なる)解」が出現する可能性はないので、x2 − 79y2 = 5 に解がないことが確定する。「解のない拡張ペル方程式」を扱う場合、このように、コンラッドの不等式は「この範囲に解がなければ、どこにも解はない」という意味を持ち、従って「解が存在しないことの証明」に利用可能。

〔数論の予備知識がある場合〕 この拡張ペル方程式が成り立つためには「x279 で割ると 5 余ること」が必要。そのような最小の自然数は x = 20 であり、既に上記の不等式の範囲外なので、「解なし」と結論される。


「具体例2」は単なる一つの例題のようですが、その背後には、深い意味が隠されています…。x2 − 79y2 = 5 が整数解を持たない、という事実は、

ということを含意がんいするのです。

「解に対応する実数」の世界でも「分数が割り切れる」とか「割り切れない」ということが、ありました(§11)。言い換えると「約数」の概念が考えられる…。そうすると「解に対応する実数」も、「これ以上、真の約数がない」という状態まで、徹底的に「約数の積に分解」できるはず。「普通の整数」の世界では、ある一つの整数を素数の積に分解し尽くせば、必ず本質的に同じ分解結果になります。ところが「解に対応する実数」の世界では、必ずしも同じことが成り立ちません(同じ数が、2通りに「素因数分解」できてしまうことがある…その状態では、もはや「素因数」とは言えませんが…)。

平方剰余についての予備知識がある方は、別記事「フェルマーのクリスマス定理で遊ばせて!」(§5【5】)をご覧ください。私たちはたった今、ℤ[√79] における素因数分解の一意性の「破れ」を非構成的に証明したのです。意味が分かると、ゾクッとする話…。

D4k + 3 型の素数のとき、D = 79 は、このような「破れ」を引き起こす最小の例。

今すぐ全てを理解する必要はないですが、すごく深い不思議な世界につながってるみたいですね…


第6章 コンラッドの不等式を越えて

最後に「改良版コンラッドの不等式」の全体像をご紹介しましょう。その意義や問題点、全体的な展望にも触れておきます。


§20 §16の途中から「とりあえず n は正」と仮定した。以下ではこの仮定を取り払い、正負両方の n を統一的に扱えるようにしよう。

〘1〙 まず n が負の場合を考える。§16α, β を使うと、α は正、β は負。負の実数 β の代わりに、符号を変えた正の実数 −β = | β | を考え、それを Β と呼ぶことにする。

  1. β = s − tD β の定義(§16)。ここでは負の数
  2. Β = −β = −s + tD ← 符号を逆にした正の数。Β で表す

β は解 (s, −t) に対応する実数だが、Β はそれと同系列の解 (−st) に対応する。

仮定より(§16s は負でないので s + tD ≧ −s + tD すなわち α ≧ Β が成り立つ。 α = s + tD なので(§16

α, β の代わりに α, Β を考えれば、それらは両方正。この α, Β について、§16とほとんど同じ議論が成り立つ。ただし Βα の相棒ではなく「相棒の符号を逆にしたもの」。【】に相当する関係は:

ヤヤ】の関係を保ちつつ、手繰り寄せと全く同様の操作を行うと、α, Β を、定理4に相当する範囲まで接近させることができる。定理4の後と同じように変数名を再選択すると、新名称 α, Β両方正のままで α ≧ Β を満たし、【】の βΒ に置き換えた式が成立。α, Β は当然「符号を変えれば相棒同士」という関係を保っている。

以下、§17βΒ に置き換えて、ほとんど同様に進めることができる。ただし【】と【】の関係については、【】が上記【ヤヤ】に変わっているため、§17n の部分については、全部 n | と読み替えよう。こうして【】【】に達するが、α, Β は本物の相棒同士ではなく、このままでは、n が正の場合と統一的に扱うことができない。α, Β は「符号を変えれば相棒同士」なのだから、「正の数 Β の符号を変えた負の数」をあらためて β と名付けよう。すると α, β は相棒同士で Β = | β |。このとき:

n が(従って β も)正でも、同じ【ルル】【レレ】は成り立つ(【】【】より)。つまり n が正でも負でも(= β が正でも負でも)、【ルル】【レレ】は成り立ち、これら二つの不等式(両辺はいずれも負でない)を足し合わせると【】と同様の、次の結果を得る。

〔補足説明〕 【ロロ】の1個目の不等号は、β が負の場合にのみ意味を持つ(例えば 3 + (−2) = 13 + |−2| = 5 より小)。それ以外の場合、α + βα + | β | は等しい。n が負の場合、【ロロ】は間違いではないが、その右辺は必要以上に大きい。β が負なら当然 β0 未満なので、もっと単純に

と言えるはず…。【ロロ】の意義は「n が正でも負でも成り立つ」こと。「どんなときでも必ず成り立つ」という保証は良いことだが、n が正か負かで分けて考えた場合に比べると「必要以上に余裕を持たせている」部分がある。

〘2〙 これで議論が一本化された。以降、n が正か負かを区別せず、同時に考える(ただし n = 0 ではないとする…このケースについては後述)。【】と同様にして【ロロ】から次の不等式が得られる。

β が負でもその絶対値 Βα 以下なので、【ロロ】の α + β は負にはならないが、α + β = 0 にはなり得る。そのことから、上記 x0 になり得る。§17の(※)で制限を少し緩めておいたのは、このケースに対応するため。

最終的に、実際の解は正でも負でも構わない。例えば x = 7 が解を与えるなら x = −7 も解を与える。従って、解を検索するとき、不等式が示す絶対値を超えない範囲の、正・負両方の x を同時に(自動的に)考えている。その点を正式に書き表すと:

〘3〙 §17では、【】の根拠として、解 (xy) が存在すると仮定した上で α = x + yD, β = x − yD とした。ここで α − β = 2yD を使えば【ルル】【レレ】から y についての不等式も得られる。α − β = α + (−β) は、β が負だとかえって値が大きくなる点がトリッキーだが、【レレ】の制限があるため、α − β最大値は、最悪でも α + β の最大値と同じ。つまり【ロロ】の範囲に収まる。一方、α − β は、最小でも負にならない(なぜなら α ≧ β)。従って α − β = 2yD ≧ 0, y ≧ 0 だが、【】同様、最終的には y の符号は(同じ絶対値の範囲内で)逆でもいい:

〘4〙 【】【】が「改良版コンラッドの不等式」の全体像。正・負両方の n に対応している。さらに n = 0 の場合、拡張ペル方程式の解は (0, 0) のみだが、【】【】は、このつまらないケースについても有効(そのとき α = β = 0 + 0√D = 0)。

「改良版」と呼ぶ訳は、もともとの「コンラッドの不等式」(2017年)を強化した内容だから(2017年版と比べ、範囲指定が約半分に絞り込まれている)。けれど、実はまだ最善の不等式ではなく、さらなる改良の余地がある(§23)。

〔例〕 x2 − 7y2 = −63

〔答え〕 n | = 63, μ = 8 + 3√7 を【】に入れると、右辺は約 19.8x = 0, 1, 2, …, 19 を試すと、x = 0, x = 7 が解を与える。これ以外に、本質的に異なる解はない。

〔注意〕 検索のとき x = 0 の可能性を忘れてはいけない! 上記〘2〙を参照。

〔参考〕 7y2−63 はどちらも 7 の倍数なので、解があるなら x7 の倍数。上記範囲内のうち x = 0, 7, 14 だけを試せば十分。x = 7z と置いてもいい。すると 49z2 − 7y2 = −637 で割って整理すると y2 − 7z2 = 9。最初より簡単な問題に帰着される(§18の例題でも同じ手法が使用可)。


§21 同系・別系の判定 拡張ペル方程式で、例えば (13, 4) という解が見つかったとすれば (13, −4) も解。対応する実数で言えば α = 13 + 4√7β = 13 − 4√7 であり、両者は「相棒の解」。符号が違うだけなのだから本質的には同じ解だが、一般には、異なる解のグループ(系列)に属する(§14)。符号が2個とも逆の (−13, −4) も本質的に同じ解だが、これは最初の解 (13, 4) と同系列。なぜなら、全体を −1 倍した形の解は、同じグループの一員と見なされる(§13)。同様に (−13, 4)β 型の解と同系列。

解が一つあれば、自動的に4パターンの符号の選択が考えられるが、解のグループとしては、その4パターンが、通常2グループ(2系列)に整理される。ところが、紛らわしいことに、4パターンの解たちが、どれも1個のグループ(1系列)に属するケースもある。その意味とインパクトは、以下の通り。

質問 ある解と、その相棒の解は、常に別系列か?

答え ノー。少なくとも n = 1 の場合(つまり普通のペル方程式の場合)、μμ−1μ2μ−2 などは、相棒の関係(§9)。これらは全部、±μk という一つの系列に属するのだから、「ある解」と「その相棒の解」が同じ解のグループに属する…ということは起こり得る。

普通のペル方程式は、拡張ペル方程式において n = 1 となるケース。普通のペル方程式の解たちも、拡張ペル方程式の特別な場合として、±αμk 型の実数で表される解を持つ(α = 1 + 0√D = 1 とすればいい。この実数 α は、ペル方程式の自明じめい解に対応する)。

拡張ペルの場合、相棒は一般には別系列だが、同系列になることもある。例えば x2 − 7y2 = 8 は解 (6, 2) を持つが、それに対応する α = 6 + 2√7 と、その相棒 β = 6 − 2√7同系列。それを示すためには β = ±αμk と書けることを言えばいい: k = −1 のときの μ−1 = 8 − 3√7 は確かにこの関係を成立させる。

〔確認〕 αμ−1 = (6 + 2√7)(8 − 3√7) = (48 − 42) + (−18 + 16)√7 = 6 − 2√7

別の種類の例として、α = 3 + 0√7 は明らかに x2 − 7y2 = 9 の解に対応するが、その相棒 β = 3 − 0√7α そのものだから、当然、同系列。

相棒同士に限らず、一般論として、2個の解が同系列か別系列か、どうやって判定すればいいのだろうか。

同系列の解に対応する2個の実数は、どちらも ±αμk の形を持つ(プラス・マイナスは、考えている2個の実数の値に応じて、それぞれ適切な方が選ばれる。α は、何らかの一つの解に対応する)…それが「同系列」の定義だった(§13)。従って、もし与えられた2個の解が同系列なら、それらに対応する実数 X, Y は、それぞれ ±αμA±αμB の形を持つ(符号の選択が4パターンのどれになるかは不明。A, B は何らかの整数)。前者を後者で割れば、α は約分されて消滅。符号がどうなるかは依然不明だが、商は ±(μA ÷ μB) の形。§6 を思い出すと、この商は ±μAB であり、A − B は整数なので、結局、商は ±μk の形になる(k は整数。この場合 A − B に等しい)。ところが、この ±μk は(普通の)ペル方程式の解(整数解)に対応している(§10)。

つまり、拡張ペル方程式の2解が与えられたとき、それらが同系列かどうか判定する一つの方法として、2解に対応する実数 X, Y について商 X Y を計算すればいい。この商がペル方程式(もちろん同じ D についての)の整数解に対応していれば同系列、そうでなければ別系列。別系列の場合、商がペル方程式の解に対応しているかチェックするまでもなく、恐らくこの商は割り切れないだろう。

〔例題1〕 x2 − 7y2 = 8 は解 (6, 2) を持つ。相棒 (6, −2) は同系列か別系列か?

〔答え〕  6 + 2√7 6 − 2√7 =  3 + √7 3 − √7 =  (3 + √7)2 (3 + √7)(3 − √7) =  9 + 6√7 + 7 9 − 7 =  16 + 6√7 2 = 8 + 3√7

〔例題2〕 x2 − 7y2 = 21 は解 (7, 2) を持つ。相棒 (7, −2) は同系列か別系列か?

〔答え〕  7 + 2√7 7 − 2√7 =  (7 + 2√7)2 (7 + 2√7)(7 − 2√7) =  49 + 28√7 + 28 49 − 28 =  77 + 28√7 21 =  11 3 +  4 37

  1. ( 11 3 4 3) はペル方程式 x2 − 7y2 = 1整数解ではない。整数解を考えているのだから(§1)、割り切れなかった時点で、別系列と確定。
  2. 両者が別系列であることは、系列の中身(実際の解の値)からも確認できる(§13)。ある解を表す α の系列内に、相棒 β(やその仲間)が含まれないなら、αβ は別系列。
  3. ところで ( 11 3 4 3) は、割り切れなかったものの、ペル方程式 x2 − 7y2 = 1有理数解になっている(確かめてみよう)。やけに面白いぞ…

〔例題2〕の方程式 x2 − 7y2 = 21一般解について、相棒が別系列であることから、

と書くのは正しい§14)。複号の選択が自由であるという了解の下で、±(7 ± 2√7k とまとめてもいい。一方、〔例題1〕の方程式 x2 − 7y2 = 8 の一般解については、

と書く必要ない。この「または」の前後は同一の集合なので、冗長じょうちょう(=同じ解を重複して書いている)。この場合、まとめて ±(6 ± 2√7k とする必要もなく、単に ±(6 + 2√7k だけでいい。せっかく具体的な解が分かっても、同系列・別系列を見極めないと、一般解を正しくとらえることができない

「異なる解のグループ」(解の系列)は、合計何個あるのだろうか。例題1では1個(相棒が同系列なので)、例題2では2個(相棒が別系列なので)。上でチラッと触れた x2 − 7y2 = 9 の場合、完全に解くと、次のように計3個の系列が見つかる。

ここで (4, 1) と相棒 (4, −1) が別系列であることは、上記の例題と同様に確かめることができる(商は割り切れない)。

拡張ペルは、もっと多くの解のグループを持つこともあるし、解のグループが0個(解なし)のこともある(§19)。


「割り切れる・割り切れない」というのは、もちろん「結果が分数にならない・分数になってしまう」という意味。分かり切ったことのようですが、これが意外と深い問題をはらんでいます。1 という数が μ = 8 + 3√7割り切れることにご注目。1±1 以外の約数がある…と聞いて「えっ?」と思いませんか?

「実数まで考えれば 1 に約数があるのは当たり前」のようですが(1 は例えば 0.25 で割り切れる)、ここで考えているのは、そのような「実数全体の世界」ではなく、「解に対応する実数の世界」。それは無理数(平方根)が絡んだ世界。無理数(つまり整数÷整数の形で書き表せない数)が「割り切れる」とは一体…?

μ1, μ2, μ3, μ−1, μ−2 など(あるいはその符号を変えた −μ1, −μ2 など)は、どれも 1 の約数になっています。±μ0 = ±1 も、もちろん 1 の約数。つまり、この「解に対応する実数」の世界では 1 に無限個の約数があります。1 の約数を単数と呼ぶと、一つの「解のグループ」に対応するのは「単数倍の違いしかない実数たち」。一体それは、どのような数たちか…。数直線を無限に広がる大宇宙と考えた場合、μ 倍の間隔でどこまでも、どこまでも、飛び石のように続いていく「星々の列」。それは「ゼロ」というブラックホールに近づくにつれ限りなく密度を高めつつ、右・左のかなた、すなわち「正の無限大」と「負の無限大」の両方向へと、ものすごい勢いで歩幅を広げながら、果てしなく続いていく…。気の遠くなるような光点の無限列むげんれつ。しかし確かにそれらは、わずかの揺るぎもなく、決まった間隔できちんと並んでいるのです。

μ の値は、D によって異なります。具体的な一つの D が与えられれば μ を決定できるのですが、「一般論として Dμ はどういう関係なのか?」という全体像は、まだ完全には分かっていないようです。数学の世界では…少なくとも数論の世界では…「分かっていること」は氷山の一角で「よく分かっていないこと」の方が圧倒的に多いのです。


§22 4系列の解を持つ例 §14では、拡張ペル方程式 x2 − 7y2 = 57 について、もやもやが生じた。【】【】を使って再検討しよう。D = 7, μ = 8 + 3√7, n = 57 だから、次の範囲を考えれば十分。

実際の検索は、負でない整数に限っていい(どうせ2乗されるので)。検索範囲が狭い y を考えた方が楽そうに思える。そこで y = 0, 1, 2, 3, 4, 5, 6, 7 を試すと (xy) = (8, 1), (13, 4), (20, 7) という3種類の解が検出される。ところが (20, 7)x = 20 は、x についての不等式を満たさない。不等式を(たとえ一方でも)満たさない解については「範囲外」として無視して構わない。結局、解のグループ(に対応する実数)の候補は、以下の4種類だけ。

このうち、2組の相棒同士が別系列であることは、前節の方法で確認できる。さらに、相棒以外についても同系チェックをすると…

…のように、どの組み合わせも割り切れない。従って「上記の4個は全部、別系列。これ以外に解の系列はない」と結論できる。

ところで、最初の検索では、解 (20, 7) も見つかったが、もう一方の不等式と照合すると「範囲外」となった。範囲外の解を無視できる理由は、「本質的に異なる解は、範囲内を探すだけで全部見つかるから」。言い換えると、(20, 7) は、もう発見されている(=上記4系列のどこかに含まれている)。本当だろうか。§21の方法を使って確かめてみよう。実数 20 + 7√7 が発見済みの4解(2個の解とそれぞれの相棒)のどれかと同系列なら、対応する実数のどれかによって、割り切れるはず。順に試すと、

が確かに割り切れ、商と対応している (8, 3) は、ペル方程式 x2 − 7y2 = 1 の解。従って (20, 7)(13, −4) と同系列(これについては、§14でも確認済み)。

§16以下の証明に当てはめると…。(20, 7) を表す実数を α として、(20, −7) を表す実数を β とした場合、α, β を手繰り寄せると、それぞれ (13, −4), (13, 4) を表す実数になる。だから、わざわざ遠方の (20, ±7) を捕まえなくても、接近させた (13, ±4) を捕まえればいい。一方、(8, ±1)(13, ±4) とは本質的に異なる種類のターゲット。これら2組については、別々に捕まえる必要がある。

〔数論の予備知識がある場合〕 x2 − 7y2 = 57 が成り立つためには x2 − 577 の倍数であることが必要。これは「x27 で割ると 1 余る」ことを含意がんいする。この条件と上記不等式を組み合わせると、x = 7k ± 1 = 1, 6, 8, 13, 15 だけを考えれば十分。そのうち x = 8, 13 が解を与える。

§23 前節の例では、もし y についての不等式だけを使い、x についての不等式を確認しないと、(20, 7) も検出されてしまう。「改良版コンラッドの不等式の範囲指定は、まだちょっと甘いのでは?」という問題意識が生じる。

上記の例では、2種類の不等式を組み合わせれば、冗長じょうちょうな解は排除される。でも、いつもそう、うまくいくのだろうか?

重大な疑問 【】【】の範囲を探せば、本質的に異なる解が全部検出されるのは分かっている。では逆に、その範囲で検出される解は、全部本質的に異なるか?

「全部本質的に異なる」という保証があれば、相棒が同系列か別系列か(§21)だけを気にすればよく、話はまあまあ簡単。その保証がない場合、検出された解について、同系列の解を重複検出していないか、検査しないといけない。例えば5個の解(相棒も含めて10種類)が見つかったとして、その中に同系列が紛れ込んでいないか総当たり的にチェックするのは、非常に面倒。だから、上記の疑問は、実用的にも理論的にも、重大な意味を持つ。

答え 残念ながらノー。xy 両方についての不等式を確認しても、重複検出が起きることがある。例えば x2 − 10y2 = 89 について μ = 19 + 6√10。【】【】の範囲内には、2個(相棒もカウントすると4個)の解 (27, ±8), (33, ±10) が見つかる。確認すると、相棒同士はいずれも別系列。従って「重大な疑問」の答えがイエスなら「4系列の解がある」と結論できる。ところが、同系チェックをすると、

が発覚し、(33, 10), (33, −10) はそれぞれ (27, −8), (27, 8) と同系列であること、実際には2系列の解しかないことが判明する。

つまり、2020年7月の「改良版コンラッドの不等式」は、まだ最善ではない。「学校の数学」は舗装ほそうされた道のようなもので、公式や手順を覚えればだいたい何とかなるが、コンラッドの不等式の場合「公式自体が、まだ完成していない」。数学は本来そういうもの…。【】の不等式

については次のように(そして【】も同様に)再改良できそうだし、その他にも、いろいろと検討すべき点がある。

上記「再改良版」不等式を得るためのアイデアは次の通り。n が正の場合で説明すると(実際には正に限る必要はないが)、【】の条件があるため、α が大きくなれば β は小さくなり、β が大きくなれば α は小さくなる。そのため α が【】の最大値を取ったとき、同時に β が【】の最大値を取ることは不可能。結果的に【】【】を組み合わせて α + β の上界とした【】は過大評価。【】【】【】の条件下で α + β の最大値は何か…。本稿の範囲外だが、解析の問題としてこれを考えることができる。工夫すれば、もっと初等的にできるかもしれない。

拡張ペル方程式の解の検索の目的で「コンラッドの不等式」(2020年7月版)をそのまま使う場合、こうなる:


§24 展望 ペル方程式・拡張ペル方程式を解きたい場合、実用上のオーソドックスな方法としては「平方根の連分数れんぶんすう展開」というものが利用される。この記事で使った「一つ一つ数を試す手法」はブルートフォースと呼ばれ、扱う数が小さい場合には十分に実用になるものの、一般のケースにおいては、連分数展開に比べ効率が悪い。従って、コンラッドの不等式を単に「ブルートフォースの範囲指定」と考えるなら、その実用性にはもともと限界がある。逆に言えば、その限界の中でなら、コンラッドの不等式はツールとして普通に役立つし、場合によっては、連分数展開より手っ取り早い。

一例として、§19は、ℤ[√79] が一意分解整域ではないことの証明…とも解釈できる。コンラッドの不等式は、その証明の鍵となった。

「具体的な個々の方程式を解く」ということにこだわらず、拡張ペル方程式の解の性質を一般論的に考える場合、コンラッドの不等式は、重要な観点を与えてくれる。実は【】の δ1 または μ に等しいときに限って、相棒同士が同系列になる。δ の値が異なる解は、本質的に異なる。ただし、δ に当たる値が μ を超えているような解は冗長。これらの事実を利用するなら、一つ一つ割り算して同系チェックをする必要はない。

「ある解とその相棒」は本質的に同じだが、同系の場合と別系の場合がある。この区別は、一般解の表現に影響する(§21)。

ペル方程式に関連する話題は多く、その一つ一つから、さらに多くの世界へと道は続いていく。この記事で「解に対応する実数」と呼んでいる世界は、じつ二次体の整数かんのある種の部分集合に当たる。上記の δ については、「μ を底とする対数たいすう」を使って考えた方が、見通しがいい。

「楽しみながら代数的整数論の世界に触れられる」という題材は、いろいろあるだろう(「フェルマーの最終定理」の特定のケースなど)。コンラッドの不等式もその一つだろうが、2020年現在、あまり道が整っていない(§23)。「未解決の難問」といったものではなく、専門家が本気で取り組めば大した問題でもないのだろうけど、忘れ去られ、放置されている(今さらペル方程式なんて…という意識があるのかもしれない)。結果的に「穴場」のような状態になっている――興味深く、それなりの重要性があり、アマチュアでも取り組めるけれど、誰もそれを考えない。それは小さな森かもしれないが、少し踏み込むと、未知の領域が見え隠れする。まだどの本にも載っていない世界。人間のにおいのしない森…。その「妖精の森」を自力で探検するのは、ワクワクすることではないだろうか。

きっかけなんて何でもいい。出会えたことは、必然なのだ。

「この森は、どこにつながっているの?」

「無限に…」


§25 付録1 具体的な数値計算法

§18では、x2 − 7y2 = 21 の解について検討するため、以下の数値を利用した。

  1. μ = 8 + 3√7, n = 21
  2. x ≦  n(√μ + 1) 2 = 11.438…

平方根を求められる電卓などを使えば、この数値を簡単に計算できる:

  1. 7 = 2.64575… を求めて、3 倍して 8 を足すと μ = 15.9372…
  2. その平方根 3.9921… を求めて 1 を足すと μ + 1 = 4.9921…
  3. 上の値に n = √21 = 4.5825… を掛けて 2 で割れば約 11.438 となる。

その平方根」は下記の二重根号の計算に当たるが、気にせず、上記のように計算すればいい。

§26 付録2 コンラッドの不等式を暗算で扱う方法

何らかの理由で、筆算や暗算での簡易計算を行いたい場合、「過大評価する分には構わない」と考えよう。本来 11 まで探す必要があるのに、それを 8 までなどと過小評価すると、検索不足による解の検出漏れのリスクがある。過大評価して、例えば 14 まで探した場合、そういうリスクはない。例えば§25の不等式の範囲を暗算で決定するには、次のように考えればいい。

  1. μ = 8 + 3√7 < 8 + 3√9 = 17 なので μ < √17 < √25 = 5
  2. n = √21 < √25 = 5
  3. ゆえに x ≦  n(√μ + 1) 2 <  5(5 + 1) 2  = 15

従って 15 未満、つまり 14 まで探せば十分。探す範囲が少し広がってしまうが、大勢に影響ない。§18の例では x7 の倍数なので、実際に問題になるのは x = 14 が解を与えるかの判定だけ。試すと判定結果はノー。この判定の代わりに、次のように x の範囲を絞ってもいい。

  1. μ < √17 < √18 = 3√2 = 3 × 1.414… < 3 × 1.5 = 4.5 = 9/2
  2. x ≦  n(√μ + 1) 2 <  5(9/2 + 1) 2 =  5(11/2) 2 =  55 4 <  56 4 = 14

これで x < 14 なので x = 14 を考える必要がなくなった!

この不等式を導くには、要するに 174.5 より小さいことを言えば十分だった。それには 4.5217 以上であることを言えばいい。4.52 > 4.5 × 4 = 18 なので、確かにそうなる。

§27 付録3 練習問題の答え

できるとこまで自力でやってみてから、答え合わせしてください。みんな本気のときがとってもきれいだから(謎)…


§2の練習 x2 − 6y2 = 1 の最小の正の解は x = 5, y = 2(xy) = (5, 2) と書いてもいい。

〔確認〕 52 − 6 × 22 = 25 − 24 = 1

】に当たる式は x2 = 6y2 + 1。その右辺は y = 1 のとき 7(平方数でない)、y = 2 のとき 25(平方数。5 の2乗)。

§5の練習 x2 − 6y2 = 1 の最小の正の解は x = 5, y = 2(上記)。それに対応する実数は 5 + 2√6その2乗を計算すると:

  1. (5 + 2√6)2 = 52 + 2 × 5 × 2√6 + (2√6)2
  2. = 25 + 20√6 + 24 = 49 + 20√6

だから答えは x = 49, y = 20

〔確認〕 492 − 6 × 202 = 2401 − 2400 = 1

§10の練習 x2 − 6y2 = 1 の最小の正の解は x = 5, y = 2。だから μ = 5 + 2√6。そして μ2 = 49 + 20√6(上記)。

  1. μ3 = μ2 × μ = (49 + 20√6)(5 + 2√6) これを展開して整理すると…
  2. = 49 × 5 + 49 × 2√6 + 20√6 × 5 + 20√6 × 2√6
  3. = 245 + 98√6 + 100√6 + 40 × 6 = 485 + 198√6

〔確認〕 4852 − 6 × 1982 = 235225 − 235224 = 1

μ0 = 1§6)。分母の有理化を使うと、μ−1 = 5 − 2√6。同様に、μ−2 =  1 μ2 = 49 − 20√6

妖精の森 ♌ ペル方程式の夏 > 作成メモ・更新履歴

ブライアン・コンラッド(Brian Conrad)は、米国の数学者。谷山豊の「谷山予想」の研究と関連して、英国のワイルズが「フェルマーの最終定理」を証明したが、コンラッドは、このワイルズの下で数学を学び、他の研究者と共に谷山予想の証明を完成させたという。

「コンラッドの不等式」の原型は「Generalized Pell Equation」(2017年)に記されていた。これは、コンラッドが行った代数的整数論入門の講義の、配布資料(ハンドアウト)の一つ。次のURLで公開されている。
http://virtualmath1.stanford.edu/~conrad/154Page/handouts.html

ブライアン・コンラッドの兄弟キース・コンラッド(Keith Conrad)は、ほぼ同じ内容について、ハイスクールの学生でも理解できるような、平易で親切な紹介をしている。下記URLの「Pell's equation, I」と「Pell's equation, II」。II の最後の部分で連分数の予備知識を仮定する以外、高校数学の範囲だろう。
https://kconrad.math.uconn.edu/blurbs/

2020年の夏、ちょっとしたことでこの不等式の上界を改善、二人のコンラッドに結果を知らせた。上記2資料の不等式も改良版に置き換えられた。

どちらのコンラッドも「ある2個のベクトルの線型独立性」を使って、この不等式を証明している。ベクトルの成分は、二次体の整数の絶対値の対数。一般の読者には、なかなかイメージがつかみにくいと思われる。せっかく不等式を改良したのだから、これも何かの縁、証明の簡単化を試みた。対数関数を使った方が簡潔だが、あえて使わずにやってみた。


この記事のテキストはパブリックドメインです。もし需要があれば、改訂も含めて、自由にお使いください。飾りの画像は「アンの小箱」の素材なので、「アンの小箱」の利用規約に触れてしまう場合には、除去してくださいね(「アンの小箱」の素材の利用規約は比較的緩やかで、原則として商用サイトでも使用できますし、学校の広報誌など非営利の印刷物でも、自由に使用できます)。

更新履歴
  1. 2020年7月26日(日本時間27日) コンラッドの不等式の改良に成功。不等式【】の誕生日。記録として、記事を書き始めた。8月初めに公開するつもりだったが、まとまらなかった。
  2. 2020年9月28日 ベクトル・線型独立を使わないで証明するアイデアを得た。2020年10月30日、実際の証明をスケッチ
  3. 2020年12月4日 現在のバージョンを書き始めた。対数関数は記事内で導入するつもりだった。
  4. 2020年12月8日 対数を使わないで証明するアイデアを得た。
  5. 2020年12月13日 記事のアルファ版(下書き)公開。
  6. 2020年12月20日 記事のベータ版公開。
  7. 2020年12月27日 初版(v1)公開。
  8. 2021年1月3日 第2版(v2)。§5修正「左辺を整理」→「右辺を整理」。§22修正「4解と同系列」→「4解のどれかと同系列」。§16に補足説明追加。§20でxの最小値について明示的に言及。
  9. 2021年1月10日 第3版(v3)。微調整。

この記事のURL

パブリックドメイン



メールアドレス(画像): [ http://www.faireal.net/image/2005/addr.png ]