フェルマーの最終定理の「反例」(電卓編)


「3以上の整数nについて、aのn乗+bのn乗=cのn乗を満たすような整数a, b, cは存在しない」というフェルマーの最終定理(フェルマー・ワイルズの定理)は、1995年にアンドリュー・ワイルズによって証明されました。「証明された」とは言っても、その証明を読んで納得できるのは、ごく一部の数学が得意な人に限られる残念なことです。

数学は苦手だからちょっと計算して雰囲気を味わおうと思っても、今度は計算が得意じゃななければなりません。たとえばこんなことになります。

Windows 95以前

たとえば、a=5999856, b=99992800, c=100000000として、a^3+b^3-c^3を計算すると答えは0になります。電卓を信じるなら、フェルマーの最終定理の「反例」が見つかったことになってしまいます。(この電卓がWindows 7上でそのまま動くということには感心しますが。)

Windows 98SE以降の電卓ではこの間違いは起こりません。そう、Windowsの電卓はちゃんと進化しているんです。「Windows 95以来、スタートメニューのアクセサリには、電卓が含まれていた。その機能はVistaまでほとんど変わることなく続いてきた」(マイコミジャーナル)というのは間違いです。

Mac OS X 10.4以前

上で紹介した問題は、Mac OS Xでは10.4(2005年)の計算機 4.0.6までは修正されていませんでした(PowerPC版で確認。正確に言えば、基本モードと科学計算モードで結果が異なり、しかも、両方とも間違っていました)。常にWindowsの先を行っていると言われているらしいMac OS Xですが、基本的な計算についてはかなり遅れていたといわざるを得ません。

iPhone (3.1)では未だにこのような問題が残っています(正確に言えば、間違い方が違うので、「反例」にはなりません)。「端末を回転させると関数電卓になる」というのもネタとしてはいいのですが、そんなことよりはちゃんと計算できることを優先してほしいです。

電卓を作るのもなかなか大変です。

ちなみに、Unixの標準的な電卓であるGNU bcは、最初からこんな間違いは犯しません。1994年に配布されたbc 1.03で試すと次のようになります(Ubuntu 9.04にはbc 1.06がはじめから入っていますが、あえて古いバージョンで試しています)。

$ sudo apt-get install flex bison
$ wget http://ftp.gnu.org/pub/gnu/bc/bc-1.03.tar.gz
$ tar zxf bc-1.03.tar.gz
$ cd bc-1.03/
$ ./configure
$ make
$ ./bc
bc 1.03 (Nov 2, 1994)
Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5999856^3+99992800^3-100000000^3
-2985984

参考:電卓の話

追記:DOSの世界で有名だったUBASICでも、正しい結果が得られます。(参考:UBASICの動かし方

? 5999856^3+99992800^3-100000000^3
-2985984
OK

追記:電卓に求められるコト

フェルマーの最終定理の「反例」(電卓編)” への2件のコメント

  1. 簡単なFLTの証明をお送りしたいと思いますが、検討いただけますでしょうか。

    • おそらく私は理解できませんが,URLを貼っていただければと思います。

コメントは受け付けていません。