予想

中学数学に大苦戦! - ひらのの日記
の続きです。


前の記事の問題 1 で不必要に時間をかけすぎたせいか、ただ 1 問解いただけではなんだか報われない気がするので、何か適当な結果を捏ち上げるために (笑) こんな予想を立ててみました。

予想

下図において、 \triangle ABC AB=AC二等辺三角形とし、0 < x,  y < 80 とする。
このとき、 x, y, z 共に整数の組は、自明なもの *1 を除くと、以下の 16 通りである。

  1. x = 50, y = 20, z = 60
  2. x = 65, y = 25, z = 85
  3. x = 60, y = 30, z = 80
  4. x = 50, y = 40, z = 60
  5. x = 20, y = 50, z = 10
  6. x = 40, y = 50, z = 30
  7. x = 60, y = 50, z = 80
  8. x = 70, y = 50, z = 110
  9. x = 30, y = 60, z = 10
  10. x = 50, y = 60, z = 30
  11. x = 65, y = 60, z = 85
  12. x = 70, y = 60, z = 110
  13. x = 25, y = 65, z = 5
  14. x = 60, y = 65, z = 40
  15. x = 50, y = 70, z = 10
  16. x = 60, y = 70, z = 20


x と y をひっくり返しただけ、というのもあるので、この条件下で、本質的に異なる非自明な (x, y, z) の組はたった 8 組だけ、 という予想になります。
もしこれが正しいとすると、、中学で出てきた図形の角度を求める問題って、かなり特殊な状況下での出来事だったんですね。
中学の図形問題を作るのって、大変だったんだなぁ。。

メモ

この「予想」はどうやって立てたかというと、アイデアは前の記事と全く同じで、あとは C++ でコードを書いて、それを実行して出しました。
具体的には、以下の通りです *2


アルゴリズム

  1.  \frac{d-e}{d-b} を x、y で表す。
  2.  \frac{d-e}{d-b} \cdot \exp(2 \pi i \cdot \frac{z}{360})虚数部分は z の関数になるが、それを f(z) と書く。
  3. z = 1, 2, ... , 179 において、f(z) = 0 となる z を探す。
  4. 1 〜 3 の作業を、すべての x, y = 1, 2, ... , 79 について行う。



この 8 通りについては、前の記事と同じように証明すれば良いと思うんだけど (えげつなさそうなのも幾つかあるけど)、問題は、

  • 数値計算で f(z) ≠ 0 と結論付けてしまったものが、ホントに f(z) ≠ 0 なのか?

というところだと思います。
C++ のコードのほうでは、「f(z) の絶対値が DBL_EPSILON より小さいかどうか」でアルゴリズムの 3 の部分の判定を行っているのですが、

  • 数値計算の結果、絶対値が DBL_EPSILON より大きくなってしまったけど
  • 実際は 0 に等しい

ということもありうるわけですからね *3
その辺りのチェックが難しそうです。


もし何か進展があったり、間違いを見つけたりしたら、更新していくことにします。

*1:x=y=z のもの。

*2:表記は前の記事と同じものとします。

*3:ぼくは数値計算についてはド素人なので、適当なことを言ってる可能性が高いです。