after Day. 19
フィボナッチ数の魅力は、留まるところを知りません。
さあ、先の前後編で手に入れた武器を頼りに、いざ証明の時間です。
と、その前に、百合に目覚め始めた主人公の様子をご覧ください。
マス部の部員として初めての大舞台を終えて、わたしは家に帰ってきた。色々ありすぎて疲労が蓄積していたわたしは、帰宅して自室に入ると、制服も着替えずベッドに大の字になって倒れ込んだ。
ぼうっと天井を眺めながら、今日のことを振り返る。完璧とはいかないが、発表はひとまず及第点だろう。対策を重ねてきた峯田先生からの質問にも、途中で混乱しそうになったけど、なんとか誠実に答えられた。卒業したマス部の先輩にも会えたし、改めて研究というものの面白さを知ることもできた。充実した一日だったといえよう。
そして……蘭子と杏里の、体温と、柔らかさ。今日だけで二人から、心も体も温められて、なんだかドキドキして……。
「pぉきじゅhygtfrですぁq……!!」
「な、なんだぁ!?」
恥ずかしさの極致に達して、キーボードを右からジグザグにタイプしたような叫び声を上げたら、下の階にいた姉にまで聞かれてしまった。
ちなみに姉は宣言通り、わたしの発表を見に来ていたが、その前の人が発表している途中で寝てしまったので、内容は覚えていないらしい。いつも騒がしく絡んでくる姉は、わたしの発表が始まった時点で静かに寝ていた。道理で発表の最中、姉の存在に気づかなかったわけだ。
慌ててわたしの部屋に駆けつけた姉に、わたしは事情を説明するよう迫られた。
「えー、つまり? 大事なメモを紛失して気落ちしていたところを、蘭子ちゃんにハグされてドキドキして……帰り道では杏里ちゃんに、不意打ちで抱き寄せられてドキドキして、今頃になってめちゃくちゃ恥ずかしくなって悶えていたと……」
奇声を上げた原因だけに絞って説明するなら、そのとおりだ。改めて整理したうえで状況を聞かされたら、もっと恥ずかしくなってきた……。
お騒がせした反省の意を示すため、姉の前で正座しているわたしに向かって、姉はバッサリと言い放つ。
「妹よ……処女、というか、童貞男子か」
「乙女心をメッタ刺しにする寸鉄ぅ!!」
「あのさ、蘭子ちゃんはともかく、杏里ちゃんには何度もベタベタのスキンシップをされてきたんでしょ? なんで今さら動揺してるのさ」
「それは……わたしにもよく分からなくて……」
正座するわたしに目線を合わせるように、しゃがんで問いかけてきた姉に、わたしは上手く返答できない。本当に自分でもよく分かっていないのだ。ただ、言いようのない羞恥心だけがこびりついていて、返答することさえ気恥ずかしく、真っすぐ見つめてくる姉とも目を合わせられない。
そんなわたしを、姉はしばらく無言でじっと見つめていたが、やがて真顔でこんなことを言い出した。
「なんか、もんちゃん……いつにも増して可愛いね。ハグしながらほっぺにチューしてすりすりしたいくらい。してもいい?」
「は? やだよ」
「うん、一瞬でいつものもんちゃんに戻ったな」
最大級の侮蔑と嫌悪感を込めた表情で拒絶したら、姉はあっさり引き下がった。さすがに姉妹の距離感としておかしい。どちらかと言えば、赤ん坊に向けた愛情表現では?
「でもせめて……これくらいはさせて」
姉はわたしの頭にポンと手を載せて、あやすように柔らかく撫でる。
「こう見えてお姉ちゃんは、嬉しいと同時に寂しいのだからね」
「…………」
よく分からないが、姉のその手つきは、幼い頃の母親の手を思い出して、むず痒いけれど、悔しいことに落ち着いてしまう。やっぱり赤ん坊扱いしていそうだけど……。
いつまでも頭を撫でられるのは、高校生としてのなけなしのプライドに関わるので、キリのいいところで振り払った。
「もういいでしょ、お姉ちゃん。わたし、夕飯までに宿題を進めるから」
そう言ってわたしは姉から離れ、机に向かう。ちょっと別のことを考えて、恥ずかしさを忘れたい気分なのだ。
「宿題って……夏休みの? それともマス部の?」
「どっちもあるけど、まずはマス部の方から片付けようと思う」
こう見えてわたしは、夏休みの宿題は無理せず計画的に進めるようにしている。発表会に向けた時間を作るために、だいたい一週間くらいに分けて、進めるべき分量を事前に決めて、ここ一週間は少なくて済むように調整していたのだ。
しかし、マス部で出された宿題に取り組んだところで、マス部の先輩たちが絡んだ恥ずかしいことを忘れるのは、無理がある気もするけど……。
「もはや恒例だねぇ。今日のは蘭子ちゃんから? それとも杏里ちゃん?」
「ううん、今日はどっちでもない。去年卒業したマス部のOGの人から。発表会の会場で会って、別れ際に出題された」
「先輩が後輩に宿題を出すのはマス部の伝統なの……?」
「そんな伝統は聞いてないけど……」
もしかしたら、わたしが数学初心者だから、鍛え上げるために出題しているのかもしれないな。
カバンからノートを取り出して机の上に広げているわたしに、わたしより素人な姉はなおも聞いてくる。
「で、今日はどんな問題?」
「前に話した、フィボナッチ数に関する性質を証明せよ、っていう問題だよ」
「あー、もんちゃんの誕生日の時に話していたやつだね。そういえば、蘭子ちゃんがプレゼントしたインチキパズル、どこにも見当たらないけど……」
「……どこにやったかな」
「わずか二日で失くすとかひどっ!」
この姉にすらインチキと呼ばれるようなおもちゃだから、わたしがさほど大事にしていないのは言うまでもない。ただ、失くしてはいないはず。たぶんどこかの引き出しに仕舞ったと思うが……。
「まあそれはおいといて、今回はフィボナッチ数同士の最大公約数を考えるんだけど」
「最大公約数……って何だっけ」
言うと思ったよ、正直。最大公約数とか最小公倍数って、大人でも忘れている人が結構いるそうだし。経済学部のくせに数学への興味がからっきしの姉ならなおさらだ。
「二つ以上の整数を同時に割り切る、一番大きな数のこと。例えば、12と18の最大公約数だったら6とかね」
「あー、小学校の頃に習った記憶がうっすらあるなぁ。分数の足し算引き算とかで使うんだっけ?」
「それは最小公倍数……」
「あれぇ?」
見よ、小学校できちんと算数を勉強して来なかったツケが、今になって回ってきて恥をかいた大人の見本を。いや、こういうのは大人に限らない。以前に同じ勘違いをしでかしていた同級生を、わたしは知っている。
まあ、最小公倍数を求めるには最大公約数を自然と使うことになるので、必ずしも誤りとは言えないが。
「とにかく、フィボナッチ数同士で最大公約数を考えると、こういう関係が出来上がるんだよ」
自然数mとnの最大公約数を、g=(m, n)とおくと、
(F(m), F(n)) = F(g)
「これはつまり……フィボナッチ数同士の最大公約数もフィボナッチ数になって、番号同士の関係も最大公約数になる、ってこと?」
「そういうことになるね」
「……めっちゃ不思議だなぁ!」
少し脳の処理が遅かったけど、姉はなかなかのオーバーリアクションで驚いた。
「えっ、それを証明するの? どうやって?」
「杏里先輩からは、最大公約数を計算する時に使う、ユークリッドの互除法を利用したらどうかと言われたけど……まあ、後は自力でチャレンジかな」
「あっそ。夕飯までに解けるといいね。頑張ってねぇ〜」
ついていけないと察したのか、姉は途端に興味を失って、ひらひらと手を振りながら部屋を出て行く。何しに来たんだ、あの姉……あっ、わたしが騒いだからだった。
さて、フィボナッチ数同士の最大公約数を調べる前に、まずはユークリッドの互除法についておさらいしよう。
ユークリッドの互除法とは、簡単に言えば、大きい方の数を小さい方の数で割って、その余りに置き換える、という作業を繰り返し、片方が0になった時点で残った数が最大公約数になる、というものだ。例えば、308と700の最大公約数は、
700÷308 = 2…84
308÷84 = 3…56
84÷56 = 1…28
56÷28 = 2
…なので、
(308, 700) = (308, 84) = (56, 84) = (56, 28) = (0, 28) = 28
……となり、28だと分かる。
どうしてこのやり方で求められるのか。割り算における、割る数(除数)、割られる数(被除数)、商、余りは、このような関係が成り立っている。
a:被除数、b:除数、q:商、r:余り
a = bq+r (r < b)
aとbを同時に割り切る自然数、つまり公約数の集合をD(a, b)とおくと、r=a-bqであるから、rもaとbの公約数で割り切れるので、集合D(a, b)のどの要素もrとbを同時に割り切る。したがって、D(a, b)⊆D(r, b)が成り立つ。
一方、a=bq+rであるから、集合D(r, b)のどの要素もaとbを同時に割り切る。したがってD(a, b)⊇D(r, b)が成り立つ。これより、D(a, b)=D(r, b)が成立する。同じ集合であるなら最大の要素も一致するので、aとbの最大公約数と、rとbの最大公約数は一致する。
「公約数の集合が一致するから、最大の公約数も一致する、か……言われてみれば納得するけど、やっぱり不思議な感じ……」
椅子の背もたれに寄りかかり、虚空を見つめながら呟く。もう少し経てば教科書でも学ぶことになるとは言われたが、知らずに見たらきっと途方に暮れるだろうな。
ちなみに互除法の仕組みを直観的に理解するなら、長方形からできるだけ大きい正方形を切り出すイメージがいいという。
「さて、次はこの互除法をどう使って、フィボナッチ数の最大公約数を求めるか……天下り的になるけど、添字の最大公約数が、最大公約数の添字になるというなら、まずは添字に互除法を適用してみよう」
こういうやり方は、愛鐘さんあたりから「つまらん」と言われそうだが、初心者のわたしは、確実に分かる所から攻めていくしかないのだ。
ノートに数式を思いつくまま書き込む。
添字が和の形になっているフィボナッチ数を分解する式を、ここでも使ってみた。するとここに、添字がnの倍数になっているフィボナッチ数が現れる。つまり、ここはF(n)の倍数だと分かる。
「ふむ……」少し手を止めて考える。「互除法は原則として、大きい方を小さい方で割った余りに置き換えるから、その余りは割る数より小さくなる。だけど、互除法の仕組みの説明の中に、余りが割る数より小さいことを前提にしている所はないんだよね……“余り”に置き換えるというより、“大きい方から小さい方を引く”という作業を繰り返すのが、互除法のやり方だと考えれば……」
そうだ。さっきの互除法の説明の中で、r < bという条件は使っていないのだから、これは外しても問題ない。ならば、a=bq+rという式を、『aからbの倍数を引いたらrになった』と考えれば、全く同じ要領で、aをrに置き換えてもいいことになる。
つまり、F(qn)を含む項は、丸ごとF(n)の倍数だから外せる。
よし、いけそうな気がしてきた。後は、F(qn+1)を消すことができれば、思い描く解決に王手をかけられる。
だけど、どうやって消そう……積の形の片方、つまり因数を消すということは、その数で割るということだ。だけど、最大公約数はどんな数で割り切れるかを考えるものだ。下手なやり方で割ってしまえば、計算結果が変わってしまうかもしれない。
「どんな数だったら、割っても最大公約数が変わらないようにできるか……まずはその条件を調べるのが先だな」
一旦フィボナッチ数から離れて、普通の自然数で考えてみよう。自然数a, bの最大公約数をgとおくと、こうなる。
a = a’×g
b = b’×g
ただし、a’とb’は互いに素
ここで、a=c×dと分解できたとする。aをcで割ってdに置き換えたとき、
(a, b) = (d, b)
この関係が成り立つためには、cはどんな数でなければならないか?
この関係が成り立つには、まずdがこのようになればいい。
d = d’×g
ただし、d’とb’は互いに素
つまり、a = c×d = c×d’×gかつa = a’×gであるから、a’ = c×d’となる必要がある。ここで、a’とb’は互いに素、すなわち共通の素因数を持たないのだから、a’の約数であるd′も、b’と共通の素因数を持たない。ということは、cがa’の約数であれば、a = a’×g = c×d’×gなので、d = d’×gかつd’とb’が互いに素という、上記の条件を満たすことになる。
ところで、もしcがa’の約数でなければ、cがaを割り切るのは、cの素因数の一部が、a÷a’すなわちgにも含まれるときだけだ。つまり、cとgが共通の素因数をもつので、gの倍数であるbも、cと共通の素因数をもつ。対偶をとると、cとbが互いに素であれば、cはa’の約数となる。
よって、cがbと互いに素であれば、aをcで割ってdに置き換えても、(a, b)=(d, b)は成り立つ。
「だから、bと互いに素な数でaを割れば、最大公約数が変わらなくて済む。ということは、F(qn+1)とF(n)が互いに素だと示せたら、晴れてF(qn+1)を外せるわけだ!」
残る問題は、F(qn+1)とF(n)が互いに素ということをどうやって示すかだが……F(qn)がF(n)の倍数であることを利用できないかな?
F(qn)とF(qn+1)は数列で隣同士……確か、隣接する自然数は必ず互いに素だった。フィボナッチ数列でも同じことが言えないだろうか?
「……言える。この二つに共通の約数があるなら、二つの差にあたるF(qn-1)もその数で割り切れるはず。この作業を繰り返すと、最終的にF(1)も同じ数で割り切れないといけないことになる。が、F(1)は1だから、結局公約数は1しかない。ゆえに互いに素だ」
そして何度も言及したとおり、互いに素ということは、共通の素因数を持たないということだ。F(qn)がF(qn+1)と共通の素因数を持たないなら、F(qn)の約数であるF(n)も、F(qn+1)と共通の素因数を持たない。
「つまり、F(qn+1)はF(n)と互いに素だから、外すことができる!」
これでようやく、ゴールに辿り着ける。
F(m)をF(r)へ置き換えられた、ということは、添字だけでユークリッドの互除法を適用できたことになる。この一連の作業を繰り返せば、最終的にはこうなる。
g = (m, n)とおくと、
(F(m), F(n)) = (F(g), F(0)) = (F(g), 0) = F(g)
※F(0) = F(2)-F(1) = 1-1 = 0と定義される。
「これで、証明終了……」
ひと仕事終えて、わたしは椅子の背もたれに寄りかかって、ふう、と大きく息を吐く。最大公約数に関する前提知識があれば、もう少し早くできたかもしれない。難易度はさほどでもないけれど、知識不足による寄り道が多いせいで、複雑に見える道のりとなった。
まあ、どんなに細かくても、当たり前だと思って放置せず、絶対に正しいという確信を持ったうえで、色んな性質を使った方がいいのだろうけど。その方が、証明の中身をより強く信じられるからね。
ぐぅ〜。
面倒くさそうな課題が片付いて気が抜けたのか、わたしのお腹が唸り声を上げた。今日だけで色々あったから、体がエネルギー不足になっているのだろう。
夕飯はもうできたかな……わたしは机の上のノートを閉じて、部屋を出た。
* * *
その頃、本日の課題を出した張本人は、峯田先生を家まで送り届けて、大学の寮の駐車場に戻って来ていた。門限の午後六時まであと少しだが、愛鐘はまだ車の運転席にいて、自分の手帳を開いて眺めている。
13 → … → 321 → ? → 1091 → 2369 →
愛鐘自身の筆跡ではない、何かの数列が記されている。気づかないうちに、ある人が書き込んでいたらしい。
「もう……手遅れかもしれないなぁ……」
薄暗い車内で、手元の手帳を猫背で見つめながら、愛鐘は寂しげにこぼした。
つばき学園高校を卒業して、置き去りにしたはずの未練が、まだ心の深奥に食い込んでいたことに、今頃になって気づく。何度眺めたところで、過ぎた時が戻ることはないというのに。
Publish or perish.
本当に、その通りだ。
長丁場となった科学研究発表会のエピソードも、これで一区切りです。ゴールドバッハ予想について、私自身が特に何か研究をしていたわけではないので、発表の内容はぜんぶ想像です。専門的に研究されている方であれば、もっと深い洞察をしているのでしょうが、私ではとても……。
さて、最後に何やら数列の穴埋めクイズが出てきました。答えと解説は次のエピソードで扱う予定です。次の更新はもう少し先になりそうですが、それまでにぜひ、?に入る数が何なのか、考えてみてください。自分で言うのもアレですが、ノーヒントで答えを出せたら相当すごいと思います。愛鐘さんはどうやら、まだ“答え”を出せていないようですね。
数学の小ネタを利用した暗号クイズって、考え出すと楽しいですよ。




