フェルマーの最終定理の個人的な証明。簡単な数式で本の余白にかける証明 Watanabe’s proof of Fermat’s Last Theorem. Proof on the margins of a book with a simple formula

 こんにちは。清藤士塾の渡辺です。

 フェルマーの最終定理という問題があります。a^n+b^n=c^nで、n>=3は存在しないという証明です。350年間解かれなかった問題ということで、最近になってある数学者がこの証明を成し遂げました。その当時、僕はまだ数学に興味を持っていない年頃であり、当時と比べると僕も成長したなと思います。

 そもそも何ですけどね。a^nとはどういう意味かというと、aをn回掛けたものに当たります。つまり、axaxaxax・・・ということです。

さて、証明に移ります。

a^n + b^n = c^n
b^n = c^n – a^n
 ここで、a=c-dという新しい式を持ち込むと、dは新しい変数と言えます。

b^n = c^n – a^n
= c^n – (c-d)^n

 (c-d)^nを展開すると、c^n以下の項はdでくくれます。dでくくったものをuと置くと、次のようになります。

b^n = c^n – (c-d)^n
= c^n – c^n + du
= du

 結果的に、b^n = duとなります。ここで、b^nとはbがn回掛けられていることだから、dかuはbに関係あるはずです。例えば、b=dなら、b^(n-1)=uとなります。つまり、次のようになります。

b^n = db^(n-1) = du

b^(n-1) = uであれば、a=c-dよりb^n = bu = du = (c-a) x b^(n-1) = (c-a) x (c-a)^(n-1) =(c-a)^nなので、a^n + (c-a)^n = c^n、となります。

c^n – a^n = (c-a)^n

 この式が成立するには、n=1, c^1 – a^1 = (c-a)^1という答えがありますが、n>=2では等号は成立しません。

c^2 – a^2 ≠ (c-a)^2 = c^2 -2ac +a^2

 b^n = duのとき、ありうる他の選択肢として、b^n=(td)^nという時です。

 d=c-aを前提とすると、b^n = c^n – a^n = (t^n) x (d^n) = (t^n) x (c-a)^nとなります。つまり、次のようにまとめれます。

(t^n) x (c-a)^n = c^n – a^n

 ここで、c^n – a^nから(c-a)をくくり出せる個数はnに関わらず一つなので、n>=3は成立しません。実際、

n=1のとき、(t^1) x (c-a)^1 = c^1 – a^1となり、t^1 = 1です。

n=2のとき、(t^2) x (c-a)^2 ≠ c^2 – a^2 = (c+a) x (c-a)となり、等号が成立しません。

 n=3以上も等号が成立しませんので、結局フェルマーの最終定理はa^n+b^n=c^nで、n>=3は存在しないということになります。つまり、右辺と左辺の(c-a)の個数が重要でした。

 以上です。文章の解説を書かなければ、ノートの余白にも書けるのではないでしょうか。ありがとうございました!!ではでは。

双子素数は3a+5bという式で簡単に求まる?ただし3とaと5とbは互いに素であることにご用心!Is it easy to find twin primes with the formula 3a+5b? But beware that 3 and a and 5 and b are relatively prime!

当記事は自由にコピペして使っていただいても構いません。by Seito sijyuku Watanabe https://nabenekocom.blogspot.com/

清藤士塾の渡辺です。

数学には双子素数問題という未解決問題があります。そもそも双子素数以前に素数とは何かについてですが、素数は1と自分自身以外では割り切れない数字です。2,3,5,7,・・・と素数は無限にあることが証明されています。

双子素数とは、素数と素数の差が2である素数、つまり、5と7、11と13、17と19などです。素数自体が未だに定式化されておらず、法則性はあるのでしょうが、ほとんどランダムといえる数値列であります。素数の出現法則以上に双子素数の出現法則は謎であり、僕もいろいろと長い間考えてみたのですが、最近になって何となくその手がかりのようなものが掴めてきました。

素数には、オイラーが編み出したx^2+x+41のようにxに0から整数値を次々に代入していけば、40個以上連続で素数が出るものもあります(x^2とはxの2乗であり、xを2回掛けた数値です)。例えば、x^2+x+41に0,1,2,3,・・・と整数値を代入していけば次のようになります。

0x0+0+41=41、1×1+1+41=43、2×2+2+41=47、3×3+3+41=53、・・・と連続して素数が出現していることが見て取れます。僕は、もっと簡単な数式で素数を表せるのではないかと考えてみました。

それは、3a+5b,5a+7b,3a+7b,の三式です。ここでポイントは、aとbに掛けられている係数の3,5,7はそれぞれ奇数なので、aとbは片方が奇数であり、もう片方が偶数である必要があります。なぜなら、素数は2以外は奇数だからです。さらに、最低限必要となるポイントは、3,5,7,a,bが互いに素でなければならない点です。

互いに素とは、例えば、12と18はそれぞれ6×2と6×3なので互いに6の倍数です。この場合、最大公約数は6であると言い、6が一番大きな共通の約数となります。一方、12と13は13が素数なので、2x2x3=12と1×13=13で共通の約数が存在しません。つまり、最大公約数は1となり、これは1以外の共通の約数を持たないという意味で互いに素と言います。

この互いに素が必要な理由は、例えば3a+5bの場合、3×7+5×4=41の場合、互いに素であり、素数になるための最低限の条件を満たしていることになります。しかし、3×7+5×6=51であれば、3と6は共通の公約数である3を持つため、51=3×17となり、3の倍数となり、素数ではないことがわかります。

ここまでの話として、素数になるためには最低限互いに素である必要がありますが、3と5とaとbのどれか一つの組み合わせの差が1である必要があります。3と5はあるいは3と7、5と7は互いに差が2か4であるため、差が1である条件を満たしません。具体例に移りましょう。

3×4+5×5=37 素数 3と4と5の差が1
3×11+5×10=83 素数 11と10の差が1

また、双子素数になる場合には次の条件に従います(しかし、これが全てではありません)。
双子素数になるためには、aとbの差が1であれば、数値を入れ替えることにより、差が2の数値が生じます。例えば、次の例に従います。

3×1+5×2=13 双子素数
3×2+5×1=11 双子素数

3×7+5×8=61 双子素数
3×8+5×7=59 双子素数

3×13+5×14=109 双子素数
3×14+5×13=107 双子素数

3×22+5×23=181 双子素数
3×23+5×22=179 双子素数

3×28+5×29=229 双子素数
3×29+5×28=227 双子素数

3×31+5×32=253=3×31+20×8=23×11 31-8=23 20+3=23 
3×32+5×31=251 素数

3×37+5×38=301=7×43 38-3=35=7×5 37+5=7×6
3×38+5×37=299=2×57+5×37 57-5=13×4 37+2=13×3  

3×43+5×44=349 双子素数
3×44+5×43=347 双子素数

素数は3と5と7の倍数の組み合わせで表せる。”Prime numbers can be expressed as multiples of 3, 5 and 7.”

当記事は自由にコピペして使っていただいても構いません。by Seito sijyuku Watanabe https://nabenekocom.blogspot.com/

渡辺です。素数は、一見ランダムに見えるけど、規則性があるのかな。

 例えば、素数は2や3を除いて必ず6で割った余りが1か5になるけど、これは一つのヒントでもあるよね。もちろん、6a+1や6b+5が必ず素数になるわけではないけど、素数には何かしら秘密がありそうだね。

 素数の並びに関する問題で、リーマン予想という数学のボス的問題があるけど、とても複雑で分かりにくい計算をする。

 ここで、この話を深堀すると、学問でも芸術でも権威ある先生の行っている仕事とは、僕たち素人からすると難しくブラックボックスのように思える。アインシュタインの相対性理論もそうだけど、周りのみんながすごいすごいというから何だか本当にすごいのだろうと思えるけど、実際はどうなのだろうか。

 そのことについて詳しければ、そのすごさは実感できるだろう。しかし、その意味も分からず、周りの評価するままにすごいというのはもったいない気がする。

 もちろん、僕も数学が好きだからリーマン予想のゼータ関数のような理論を深く理解してみたいと思うのだけれど。

 数学の研究者も掛け算の難しさはよくわかっているだろうし、素数と掛け算は表裏一体で、両方とも一見すると単純だけど、すごく複雑な機能を持っている気がする。

 しかし、簡単な視点から見れば、簡単に理解できそうなこともある。素数も3と5と7の倍数の組み合わせと思えば、単純に求めることが出来る。

 3×1+5×2=13
   3×2+5×1=11

   5×1+7×2=19
   5×2+7×1=17

   3×1+7×4=31
   3×5+7×4=43

上の式は互いに素でなければならない。つまり、3×1+5×6=33や5×2+7×6=52は素数ではない。何かの倍数になってしまう。このように3と5と7の倍数の組み合わせが互いに素にならないという条件があれば、大量の素数生産機が出来上がる。

   素数の並びの法則という大変な問題をゼータ関数という至って複雑な式で計算してみるか、3と5と7の倍数の組み合わせという単純な関係式で見るかで面白いような違いが出来上がる。もちろん、ゼータ関数はその真価が完全に知られていないので、本質的には3つの倍数の組み合わせより本物である可能性もある。

 ただし、見方によっては単純な計算式でも素数という問題を見ることが出来るということだ。

階差数列化!対象の数値変換。数値解析に通じる? Difference progression! The numeric conversion of the target. Can you understand numerical analysis?

 渡辺です。数値を別のものに変換する、そして計算処理をして、元に戻す。数学関係の暗号を解く強い味方になりそうです。筆者の一つのアイデアとして階差数列化があります。以下の参考文献を読みながら考えをめぐらせていました。

参考文献

・佐藤敏明『世界一美しい数式「e^(iπ)=-1」を証明する』日本能率協会マネジメントセンター、2019年第2刷

世界一美しい数式の小話

 本書は、世界一美しい数式といわれるe^(iπ) = -1に関する証明を解説したものです。なぜ、世界一美しいと言われるかというと、 -1を左辺に移行して、e^(iπ) +1=0 とすると、その式に数学で重要とされる、いくつかの記号が現れるからです。それは、ネイピア数のe、虚数を表すi、円周率のπ、それに1と0です。

 本書では、この数式を証明するための道具を一から説明しています。その証明については、また機会があれば、ブログに書くつもりです。それより大事なことは、冒頭で述べた階差数列化についてです。

階差数列変換

 数値の表現方法を階差数列に変換して、計算処理して、また元の表現方法に戻す。これが意味のある行為かどうかは、まだブログ主の渡辺には判断しかねます。実際に使用できるかどうかは、試してみないことには分かりません。ブログ主は、数学が好きですが、頭の中「だけ」で思考することは得意ではないです。つまり、トライ&エラーです。

 そのアイデアのひな型として、階差数列化を行います。しかし、階差数列化による表現方法の変換は、2進数や16進数に変換するのとは性質が違います(ただし、2進数については以前の記事『素因数分解の基本定理』で説明しました)。実際の例を用いて確認しましょう。

 7を階差数列化します。これは、普通の表現方法だと、1+1+1+1+1+1+1=7です。これを階差数列に置き換えて、1+2+3+4+5+6+7=28と変換してみます。ここで、現在の数学としては、この7と28は等しくないです。全く異なる数値です。しかし、7の2進数111は、表現方法は異なりますが、全く同じ数値を表しています。

 つまり、ブログ主のアイデアの階差数列化変換は、対象の数値を全く異なる数値へと変換していることになります。この7と28の関係ですが、28=7x(7+1)/2という関係になります。読者の皆さんが高校時代に数学を学ばれたのであれば、階差数列の和の公式を学ばれたかもしれません。

 それは、Sn=n(2a+(n-1)d)/2という式です。

 このnは何項あるか、つまり、28は何個のものを足し合わせているかというと、1,2,3,4,5,6,7、の7個の項を足し合わせています。つまり、n=7となります。

 aは初項は何か、つまり足し算は何から始まっているかを意味します。1+2+3+…なので1から始まっています。つまり、a=1となります。なお、2+3+4+…と2から足し算が始まっていたらaは2になります。今回はa=1です。

 そしてdは公差は何か、つまり間隔を表します。1と2の差は1です。2と3の差は1です。3と4の差は1です。このような関係が最後に足されるものまで続きます。つまり、前に足されたもの(例えば3)より次に足されるもの(例えば4)は1大きくなっています。そのため、公差d=1となります。

 これらを最初の式に代入します。
Sn=n(2a+(n-1)d)/2 =7(2×1+(7-1)x1)/2=7(7+1)/2=28

ブログ主は実にいい加減

さて、これに意味があるのか。上で述べたように、意味があるかどうかは、まだブログ主には分かりません。しかし、試みとしては面白いのではないでしょうか。ブログ主は数値解析について全く知識がないのですが、以前チラッと数値解析関連のwikiを見たとき、階差数列のようなものが載っていた気がします。

 このアイデアを思い付いたのは、wikiを見る前で、思いついたからこそ数値解析に興味を持って、それに関連するwikiを検索してみたのです。しかし、ブログ主の気のせいかもしれません(笑)。「いい加減な」と思うかもしれませんが、これがブログ主の性格なのです。

 まあ、そういうわけで、暗号解析に使用できる変換方法を考えることは、ブログ主にとって重要です。今後もそのようなアイデアが湧いたらブログにアップしていきたいと思います。もちろん使えるかどうかも検証していきます。今回は長くなったのでこの辺にしておきます。ではでは。

素因数分解の候補は2倍に分裂していく!! Candidates for prime factorization are divided into twofolds!

 渡辺です。素因数分解では計算を進めると候補が分裂していくので、正しい候補を選択する方法が必要となります。今回は、候補が分裂するとはどういうことかを書いていきます。

剰余計算modの使い方

 41 x 31という二つの素数の積(掛け算)があるとします。41 x 31は1271なので、この41と31の両方がわからない場合、読者の皆さんは、41と31を見つけるために、1271を1から順に割っていくかもしれません。しかし、この方法だと、1から一番近い31まで31回も割り算をしなければなりません。

 これは小さい数なら問題ないでしょう。しかし、ものすごく大きな数の場合、1から順番に割っていくのは現実的ではありません。そこで、modを使います。modとは剰余演算のことで、具体的には次のようなことを意味します。

17 mod 5 = 2
19 mod 6 = 1
21 mod 3 = 0

 これは次の関係を別の表現としたものです。

17 ÷ 5 = 3 余り 2
19 ÷ 6 = 3 余り 1
21 ÷ 3 = 7 余り 0

 つまり、17 mod 5 = 2は、17を5で割った余りは2ということを意味します。どうですか。少し分かりづらいですが、そんなに難しいことではないでしょう?

そういうわけで、このmodというものを使います。

素因数分解の4つの候補

 次に、41 x 31=1271ですが、1271から41と31を求めたいわけです。そこで41をa、31をbと置くと、a x b=1271となります。次に、この前の記事で説明した2進数を使用します。

 そこでは、 13の場合、8+4+0+1と表現して計算するといいました。この場合、8+4+0+1=2×4+2×2+2×0+1=2×6+1とも表せます。つまり、一番右側の2が掛かっていない部分は、1か0になることがわかります。つまり、2a’+1か2a’+0を先ほどの41を意味するaに代入してやればいいことになります。もちろん31を意味するbにも2b’+1か2b’+0を代入してやればいいことになります。

 したがって、4通りの組み合わせが考えられます。
a x b = (2 a’ + 0) x (2 b’ + 0)
a x b = (2 a’ + 0) x (2 b’ + 1)
a x b = (2 a’ + 1) x (2 b’ + 0)
a x b = (2 a’ + 1) x (2 b’ + 1)

 この中で、正しい候補の可能性があるものは、上の4つの候補の余りを掛けて 1271 mod 2 = 1 を引いたものを、今回はaとbにくっついている数字(係数といいます)でmodした値が0になるものです。実際、試してみます。

a x b = (2 a’ + 0) x (2 b’ + 0)
(0 x 0 – 1) mod 2 = (-1) mod 2
つまり、0 mod 2ではないので正しい候補ではない。

 ただし、(-1) mod 2のようにマイナスの値が出てきたらmodしている値、今回は2をマイナスが無くなるまで足してあげればいいです。
(-1) mod 2 = (-1 + 2) mod 2 = 1 mod 2です。

 同様に、modしている値を超えてしまっている場合、例えば 7 mod 3なら3を引いてあげて0から3の間になるように調整してあげればいいです。
7 mod 3 =(7 – 3) mod 3=4 mod 3=(4 – 3) mod 3 = 1 mod 3
ただし、この場合はもっとわかりやすく、7÷3の余りは1と考えれば、簡単に1 mod 3が求まります。

 さて、話は戻りますが、上の4つの候補のうち0 mod 2になる候補は、
a x b = (2 a’ + 1) x (2 b’ + 1)
(1 x 1 – 1) mod 2 = 0 mod 2
の一つだけです。つまり、正しい候補は (2 a’ + 1) x (2 b’ + 1)となります。

候補は2倍に分裂していく

 実際、このままa’とb’に (2 a” + 0)や (2 b” + 1)などを入れ続けたら答えがわかると思うでしょうが、そのうち正しい可能性のある候補は4つの候補のうち2つ出てくるようになります。つまり、どんどん候補が分裂していくのです。今回はたまたま運よく候補が一つに絞られたのかもしれません。

 しかし、これは最初のうち、候補を必ず一つに絞ることができるのです。なぜなら、素因数分解とは素数同士の掛け算であり、素数は2以外では必ず奇数です。この2という例外はあるにしろ、奇数ということは2 c + 1となるので、(2 a’ + 1) x (2 b’ + 1)以外に可能性は考えられないのです。そのため、最初は4つの候補が一つに絞られますが、基本的には候補は、例えばaとbの係数が4から8へ2倍となった場合、候補の数も2倍となります。

 以前の記事では、素因数分解を使用するRSA暗号は、実務で暗号の長さが2の2048乗という途方もない数字を使うと説明しました。つまり、これくらい大きい数字だと候補がどれくらい凄まじい数に分裂するかも想像に難くありません。そういうわけで、候補をさらに絞る方法を編み出さなくてはならないのです。

素因数分解の基本定理とは!?2進数や16進数の不思議 “What is the Fundamental Theorem of Prime Factorization? ? Binary and Hexadecimal”

 渡辺です。今日はブログ主が、趣味の研究で用いている素因数分解の考え方について書きたいと思います。

2進数

 まず一つ目の方法についてです。早速ですが、読者の皆さんは2進数というものをご存じでしょうか。2進数は数字の表現方法の一つです。例えば、0から10までを2進数で表してみます。

  • 0 = 0
  • 1 = 1
  • 2 = 10
  • 3 = 11
  • 4 = 100
  • 5 = 101
  • 6 = 110
  • 7 = 111
  • 8 = 1000
  • 9 = 1001
  • 10 = 1010

 それぞれの右側、つまり右辺が2進数になります。これは0と1からできていることがわかります。ここで、全てが1になったら繰り上がっていることもわかります。例えば、3=11や7=111の次はそれぞれ4=100と8=1000で一桁繰り上がっています。

 一見、この2進数という考え方は特殊なように見えます。しかし、私たちが普段使っている数字、例えば上の例ですと0から9までの数字は10進数といいます。10進数も9まで行くと次は一桁繰り上がって10、さらに99まで行くと一桁繰り上がって100となります。

 もちろん2進数や10進数があるということは3進数や16進数もあります。考え方は同じです。3進数なら0から2までの数字を使い、全ての数字が2になったら繰り上がり、16進数なら0からFまでの数字を使い全ての数字がFになったら繰り上がります。

 ここで「Fとは何だろうか?」と疑問に感じたかもしれません。16進数の場合、10をA、11をB、12をC、13をD、14をE、15をFと表します。なぜなら、例えば、1Fだと1×16+15と分かりますが、15をFと表さずに115だと1Fのことなのか1x16x16+1×16+5のことなのか分からないからです。

 話は戻りますが、このn進数の考え方はブログ主の研究で重要となり、筆者は特に2進数を使用します。どのような使い方になるかというと、次のようになります。13と11という数字を2進数で表します。

  • 13=8+4+0+1 → 1101 
  • 11=8+0+2+1 → 1011

この場合、10進数の4とか8が2進数の1に対応しており、10進数の0が2進数の0に対応しています。 ブログ主の方法でする、素因数分解の計算では、この8+4+0+1を使用します。