さて、ユークリッドとは実在する人物の名前ですが、ユークリッドの生涯については、詳しいことはほとんど分かっていません。紀元前330年に生まれて紀元前275年に死んだという説や、紀元前365年に生まれたという説などまちまちです。いずれにしても紀元前約300年頃の人であろうということくらいは分かっています。彼は当時のエジプトの王であったプトレマイオスの招きに応じてアレクサンドリアに行き、そこで教授、著作、研究に専念したそうです。彼はそこで当時までに知られていたあらゆる数学のデータ収集をし、再検討を加えて整理しました。これが現在の数学でも絶大なる力を持っている『原論』という大著となりました。当時も数学の教科書として使用されていたようで、これに纏わる有名なエピソードがあります。
『原論』を教科書としてユークリッドから幾何学を学んでいたプトレマイオス王が、『幾何学をもっと簡単に学ぶ近道はないのか?』と質問したのに対して、『幾何学に王道なし』と答えたというのです。
この『原論』は、聖書に次ぐ大著として、1482年以来1000種類以上の言語に翻訳されたものが出版されたといわれています。内容は、おおまかにいうと第1章〜第6章は「平面幾何」、第7章〜第9章は「数論」、第10章は「無理数」、第11、第12章は「立体幾何」、第13〜第15章は「正多面体」についてまとめています。以前には何とも思わなかったような物が、興味深い物として目に映ることをご期待して、この不思議な数の世界へご招待致したいと思います。
【公約数について】
例えば、30と45の約数は、
30の約数・・・1、2、3、5、6、10、15、30
45の約数・・・1、3、5、9、15、45
ですから、2つの約数のうち共通の「1、3、5、15」の4つの数字が30と45の公約数となります。
また、公約数のうち最大の約数を最大公約数(G.C.M.ともいう。Greatest
Common Measureの略)といい、この場合15となります。ここで、最大公約数を求めるときに、いまのように1つ1つ約数を取り上げて比べていくのではなく、もっと簡単に求める方法があります。その方法がユークリッドの互除法なのです。
【ユークリッドの互除法について】
これは前述の「原論」の第7章にやや異なった形で述べられていますが、それはユークリッドよりも100年ほど前にすでに発見されていたと伝えられています。
【ユークリッドの互除法】
2つの整数aとbについて、
a をb で割った余りをr1
(b >r1)
b をr1で割った余りをr2
(r1>r2)
r1をr2で割った余りをr3
(r2>r3)
・・・・・・・・・・
としていくと、r1>r2>r3・・・・・≧0
となって余りはいつか0になる。
そこで余りが○>□となって、○が□で割り切れたとすると、□が最大公約数である。
もうちょっと一般化していうと、2つの整数aとbがあり、aがbで割り切れないとき、kを任意の整数として、aとbの最大公約数はa+bkとbの最大公約数に等しいということです。
それでは、60と168の最大公約数をこの方法で求めてみましょう。
168÷60=2 余り 48
60÷48=1 余り 12
48÷12=4 余り 0 → 48が12で割り切れるので、12が60と168の最大公約数となる。
ユークリッドの互除法を使うと、いつか必ず割り切れて、そのときの割った数が最大公約数となります。
(ユークリッドの互除法はN桁の数に対して5N回以内で終了することがわかっています。)
でも、なぜこんなにも簡単に最大公約数が求まるのか不思議ですね?それでは、互除法の原理を証明してみましょう。高校の参考書などに載っている互除法の原理はだいたい以下のように解説されています。
【互除法の原理の証明】
2つの整数aとbの最大公約数をGとおくと、a=a'G,b=b'G(a'とb'は互いに素(注))とおける。
(注;互いに素とはa'とb'の公約数が1以外にはないということ。)
同様に、bとrの最大公約数の最大公約数をG'とおくと、b=b''G',r=r'G'となる。
このことを以下の@〜Bで利用して考えてみる。
@ aをbで割ったときの商をq,余りをrとすると、a=bq+r (0≦r<b)と表せる。この式をrについて解くと
r=a-bq となる。
ここで、2つの整数aとbは、a=a'G,b=b'Gとおけるから、
r=a'G-b'Gq=(a'-b'q)Gと表せる。
すなわち、r=r'G'であることから、GはG’の約数である。
A b=b''G',r=r'G'より、a=bq+r=b''G'q+r'G'=(b''q+r')G'となる。
すなわち、a=a'G であることから、G’はGの約数である
B @とAが同時に成り立つので、G=G’である。
以上のことをもう少し簡単に表現すると、aをbで割ったときの余りrは、aとbの最大公約数を因数にもつ。言いかえると
『aとbの最大公約数はbとrの最大公約数と考えてよい。』ことがわかります。
この証明は、いわゆる「必要十分条件」という考え方から導かれる証明法で、なかなか生徒に説明して理解させるのに苦労します。(生徒はこのような論述形式の証明をいたって嫌う傾向にあります。)しかも、aやらbやらたくさんの文字を使用するので、読むのさえ苦労することでしょう。
さて、これで終わってしまっては、今回のテーマである「かんたんユークリッドの互除法」とは言い難いですよね?!実は図形を利用することで、ユークリッドの互除法を小学生にも理解できるように説明できる素晴らしい方法があるのです。
【かんたんユークリッドの互除法】
【四角形と公約数の関係】
さて、もう一度先ほどの60と168の最大公約数を求める問題を考えてみましょう。
右の図をご覧下さい。縦が60、横が168の横長の長方形から、短い方の辺である、60を1辺とする正方形をできるだけ多く切り取っていきます。(図では2個の正方形が切り取れることになる。)
すると最後に縦が60、横が48の長方形が残ることになります。
ちょっとここで前述の 168÷60=2 余り 48 という式の意味を考えてみましょう。
168÷60とは、1辺が60の正方形を何個切り取れるかを計算していることになります。その結果、商が2、余りが48というわけですから、縦が60、横が168の横長の長方形から1辺が60の正方形が2個とれて、最後に縦が60、横が48の長方形が残るというわけです。
それでは次に、
60÷48=1 余り 12 と 48÷12=4 余り 0 の式の意味するところも同様に考えてみましょう。右の図をご用意致しました。考え方は先ほどと同じですので、じっくりご覧いただければすぐに理解できることと思います。
以上のことをまとめてみましょう。長方形から短い方の辺を1辺とする正方形を切り取る操作を全部で3回行った結果、1辺が12の正方形で終了ということになったわけです。
すなわち縦が60、横が168の長方形を1辺が12の正方形で敷き詰めることができることと、12が60と168の最大公約数となることが同じであるということが理解できたと思います。
それでは3007と1649の最大公約数をユークリッドの互除法を使って求めてみましょう。!!とてもじゃないけれど最初にしたように2つの数のそれぞれの約数を並べて比較するなんて大変ですよね?ユークリッドの互除法(先人の知恵)のありがたさをつくづく感じてしまいます...
(答えは97となります。)
【最後に】
ユークリッドの互除法は、最大公約数を求めるためだけのものではありません。例えば次のような問題がユークリッドの互除法の考え方で解くことができます。
1円玉、10円玉、50円玉があわせて100枚あり、その総額は500円である。このとき1円玉、10円玉、50円玉はそれぞれ何枚あるか。
(答えは1円玉 60枚、10円玉 39枚、50円玉 1枚となります。)
さて、1円玉をx枚、10円玉をy枚、50円玉をz枚として連立方程式をたてると
x+y+z=100・・・@
x+10y+50z=500・・・Aで、@からz=100−x−yをAに代入して49x+40y=4500を得ます。ところがこれだけだと、生徒はだいたい次の2つの解答をします。
【解法1】
y=112+(20−49x)/40と0≦x<92から、xが整数になるときをx=0〜91の92通り代入してみつける。
【解法2】
ある整数解(x,y)=(m,n)がみつかったならば、すべての整数解を(x,y)=(m+40k,n−49k)と表せる。(ここで、m,n,kは整数)
ということは、整数解が存在するならばm=0〜39のうちいずれかであるような解が必ず存在することになるから、mの値を40通り代入してみつける。ということで、【解法1】よりは少なくて済みます。
以上のように、パソコンでもあればプログラムを組んで全部代入するということも可能でしょうが、そうでなければ面倒くさくてやる気がしませんよね?このような方程式を不定方程式といいますが、ユークリッドの互除法を使えば比較的簡単に解くことができます。
しかしながら今回は敢えて解説しないでおきます。というのも「四角形と公約数の関係」という主題からはずれてしまうことと、自ら調べて発見する喜びというものもありますので、もし興味を持たれた方は図書館などへいって関連文献を調べて下さいね。