最近、とんと数学の記事を書けていない。
それを楽しみにしている読者もいるかもしれないので、
本当に申し訳ない。
なんで書けていないかというと、
タイトルの研究に没頭してしまっているのだ。
半径rは自然数の円に内接するn角形の辺の長さがすべて異なる自然数で、
更にはrや2rとも異なるようなn角形で、
半径が最小となるものをみつけたい。
例えば、n=3、つまり三角形だと、
r=65, a=104, b=112, c=120
r=65, a=78, b=120, c=126
と、半径65が最小の円で、2通りの解がある。
例えば、n=4、つまり四角形だと、
r=25, a=14, b=30, c=40, d=48
例えば、n=5、つまり五角形だと、
r=15, a=3, b=14, c=18, d=24, e=25
例えば、n=6、つまり六角形だと、
r=16, a=4, b=8, c=17, d=18, e=22, f=24
といったようにだ。
賢明な読者であれば、プログラミングでちょちょいと求まるじゃないかと思うことだろう。
確かに、rをインクリメントしながら、a<b<c<…<2rの条件を守りながら、多重ネストすればいいのだが、nが7になった途端、ブレーキが掛かったんだ。
要素が多くなったことで組み合わせ爆発しだしたことと、最小のrが91と大きかったんだ。
n=7のとき、
r=91, a=7, b=26, c=61, d=70, e=74, f=107, g=168
n=7はまだましだったんだ。
n=8にしたら、うんともすんとも言わなくなった。
そこで、別のアプローチを考えてみた。
円だと難しいならば、半円2つとかでどうだろうか。
もっと言えば、120˚の三分円、60˚の六分円、とかで、組み合わせてみることだ。
n=7の解を見ると、
r=91を素因数分解してみると、91=7×13
13と聞いて、5:12:13のピタゴラス数がピンと来た。
r=13, a=10, b=24
ということで、もう一つの半円は、
r=91, a=7, b=26, c=61, d=74, e=107
ということになる。
半径に着目すると、13と91の最小公倍数は91なのが肝である。
単に、斜辺が小さいという理由で、3:4:5を選んでしまうと、n=7の半径はもっと大きくなってしまうということだ。
さて、プログラミングのほうに興味がある読者もいるだろう。
やってることは正弦定理だ。
a
sin(A) |
=2R |
sin(A)= |
a
2R |
A=arcsin |
a
2R |
A+B+C+…≡360˚
arcsinは浮動小数点型になってしまうので、誤差との戦いになってしまう。
さて、
60˚の六分円は、3分割
120˚の三分円は、2分割
にしか出来なさそうだということが、見えてきた。
この発端となったのは、180˚の5分割
r=91, a=7, b=26, c=61, d=74, e=107
を、
r=91, a=7, b=26, c=61とすると、60˚
r=91, a=74, b=107とすると、120˚
と分けられたことに起因する。
さてさて、n=8にするには、
180˚を2つならば、4+4、5+3、6+2、ということになるのだろう。
180˚の半円を、4分割、6分割の解がまだ見つけられていないので、5+3になるだろう。
r=91, a=7, b=26, c=61, d=74, e=107
r=8, a=2, b=9, c=12
で組み合わせたとして、
r=728, a=56, b=182, c=208, d=488, e=592, f=819, g=856, h=1092
これが最小の半径かは、この時点ではまだ解らない。
r=728からデクリメントしながら調べるなんてことも出来るのだろうが、
すでに組み合わせ爆発をしているので、この方法は得策ではない。
であれば、180˚、120˚、60˚の解をたくさん見つけるほうが楽だろう。
長くなりそうなので、一旦このへんで、続きはまた後日。
ではでは