本記事の内容
本記事は『数学セミナー』(日本評論社)に掲載されている”エレガントな解答をもとむ”に出題されいている問題を1時間で解けるか、という挑戦をする記事です。
本記事を読むにあたり、前提知識は基本的に必要ありませんが、以前紹介した記事の内容を使う場合はその旨を記述することにします。
今回も「エレガントな解答をもとむ selections」に掲載されいている問題です。
前回の問題については以下の記事を御覧ください!
問題を明示します。
1010と互いに素な全ての自然数は、11⋯111⋯1のように、11を並べた倍数を必ず持つことを示してください。
数学セミナー編集部編(2001)『エレガントな解答をもとむ selections』日本評論社 p21.
例 3×37=1113×37=111
7×15873=1111117×15873=111111
9×12345679=11111111119×12345679=1111111111
11×1=1111×1=11
13×8547=11111113×8547=111111
チャレンジの結果は…?
チャレンジの結果…解けました!
久しぶりの整数問題でしたが、なんとか解けました。
問題文はシンプルですが、今回は1時間目一杯使いました。
筆者の解答を紹介します。
まず、問題文を言い換えてみます。
n∈Nがgcd(n,10)=1を満たすならば、∃s,t∈N s.t. ns=10t+10t−1+⋯+102+10+1 である。
を証明しなさい、ということです。
こういう場合は筆者の経験上(大した経験ではありませんが)、剰余(あまり)に着目すると解きやすい傾向にあります。
Am=111⋯1(1がm個並んでいる)とすると、Amは
Am=m∑k=010k
と書くことができます。
このとき、gcd(n,10)=1、すなわちnと互いに素な自然数nに対して、Amをnで割った商をqm、余りをrmとすれば、
Am=nqm+rm(0≤rm≤n−1)
と書くことができます。
証明したいことはrm=0なのですが、どう証明したものでしょうか。
少し悩みました。
発想はいくらでもあるのでしょうが、筆者はAmnをどうにか変形して10X×111⋯1という形にすることで、gcd(n,10)=1からn|111⋯1である、と結論づけると良いのではないか?という発想に至りました。
試行錯誤の末、n+1個のAm、すなわちA1,A2,⋯,An,An+1をnで割ることにしました。
すると、nで割ったときの余りは0,1,⋯,n−1のnパターンしか存在しません。
したがって、A1,⋯,An+1の中にはnで割ったときに余りが一致するようなペアが少なくとも1つ存在します。
これは抽斗論法(鳩の巣原理とも)というやつです。
抽斗論法については【代数学の基礎シリーズ】群論編 その46を御覧ください。
さて、余りが一致するペアをそれぞれAi、Ajとします。
このとき、一般性を失わずAi>AjとしてOKです(Aj>Aiとしても記号の役割が変わるだけ)。
さて、
Ai−Aj=i∑k=010k−j∑k=010k=i−j−1∑k=010k×10j+1
となります。
一方で、AiおよびAjをnで割ったとき、その商をそれぞれpi,pj∈Nとすると
Ai=npi+r,Aj=npj+r
と書けます。
このとき、
Ai−Aj=npi+r−npj−r=npi−npj=n(pi−pj)
となるため、n|(Ai−Aj)、すなわちAi−Ajはnで割り切れます。
今、
Ai−Aj=i−j−1∑k=010k×10j+1
だったわけですので、
n|(i−j−1∑k=010k×10j+1)
となります。
すなわち、nはi−j−1∑k=010kか10j+1の少なくとも一方を割り切ります。
しかしながら、gcd(n,10)=1ですので、n⧸|10j+1です。
故に、
n|i−j−1∑k=010k
となります。
i−j−1∑k=010k=111⋯1
(1がi−j−1個並んでいる)ですから、証明完了です。
投稿されたエレガントな解答を紹介します!
筆者の解答と似ている部分は省略します。
(前略)
全体を通じてmは10と互いに素な自然数とします。
(中略)
さて、この「鳩ノ巣原理」を用いると、次のような事実が証明できます。
補題「aとxが互いに素であるときan−1がxの倍数となる自然数nが存在する」
(中略)x+1個の自然数a0,a1,⋯,axの中にxで割ったときの余りが等しいものが必ず1組は存在します。それをai,aj(0≤i<j≤x)とするとaj−ai=ai(aj−i−1)はxの倍数となり、aとxの倍数であることがわかります。
実は補題のnの具体的な数値を定めた定理が存在し、「オイラーの定理」と呼ばれています。「aとxが互いに素であるときaϕ(x)−1がxの倍数となる。ただしϕ(x)はx未満の自然数のうちxと互いに素なものの個数とする」
このϕ(x)はオイラー数と呼ばれています。数xとが素数であるときにはax−1−1がxの倍数であることになり、これは特に「フェルマーの小定理」と呼ばれています(「大定理」の方はあまりにも有名なあの定理です)。次の会報は「オイラーの定理」を用いたものです。
解法2
9mと10は互いに素な自然数になるので、「オイラーの定理」から
10ϕ(9m)−1=ϕ(9m)個⏞99⋯9
は9mで割り切れます。つまり9m×n=99⋯9なる自然数nが存在し、
m×n=ϕ(9m)個⏞11⋯1
となり代位が示されます。もちろん、「オイラーの定理」の代わりに先程の「補題」を用いても同じです。また、割り切れない有理数は循環小数になることが知られていますが、その証明に使われるのも「鳩の巣原理」です。この循環小数を用いたのが次の解法です。
解法3
9mと10は互いに素なので、19mは純循環小数、すなわち小数点第1位から循環が始まる循環小数となります(証明は簡単なのでここでは省略します)。したがって、ある適当な自然数nがあって
19m=n99⋯9
と書ける(つまりnは循環節)ので、
m×n=11⋯1
となり代位が示されます。
解法2と解法3においてmではなく9mを用いてときました。mを用いて解く場合には、mが3の倍数であるかどうかで場合分けをする必要があります。たとえば解法2においてm=3とすれば103−1−1=99は3の倍数ですがそれを9で割った11は3の倍数ではありません。さて、mは10と互いに素なので、一の位は1,3,7,9のいずれかになります。これらの数の特徴として、任意のb∈{0,1,⋯,9}についてm×x≡b (mod 10)なるx∈{0,1,⋯,9}が存在する、というものがあります。つまりこれらの数の倍数を並べると、一の位には0から9まですべての数が現れるということです。最後の解法はこの声質と筆算による掛け算のプロセスから証明するものです。
解法4
まずm×x1≡1 (mod 10)なる(つまりmとの積の一の位が1であるような)x1∈{0,1,⋯,9}をとり、y1=(mx1−1)/10とおきます。以下順番にyi+m×xi+1≡1 (mod 10)なるxi+1∈{0,1,⋯,9}をとり、yi+1=(yi+mxi+1−1)/10とおきます。すなわち、
m×i∑k=1xk10k−1=yi×10i+i個⏞1⋯1
となります。ここで0≤xi≤9より0≤yi<mとなりますから、{y1,⋯,ym+1}においてyi=yj(1≤i>j≤m+1)なるi,jが少なくとも1組は存在します。そのi,jについて
m(j∑k=1xk10k−1−10j−i×i∑k=1xk10k−1)=yj×10j+j個⏞11⋯1−10j−i(yi×10i+i個⏞11⋯1)=i個⏞11⋯1
となり題意が示されます。意見すると何をしているのかわかりにくいかもしれません。mとの積に1が並ぶように、定数の桁を1つずつ増やしていきます。{x1,x2,⋯,xi,⋯}はその定数の各桁の数字を意味します。{y1,y2,⋯,yi,⋯}は積の数字から11⋯1を取り除いて残った数を意味します。筆算の要領で計算をするとわかりやくすなると思います。
(後略)
数学セミナー編集部編(2001)『エレガントな解答をもとむ selections』日本評論社 p178-p182.
読者の皆様への挑戦状!ぜひ解いてみて下さい!
以下の問題は次回挑戦します!
次の
n∑k=1(k5+k7)
をnで表して下さい。(ヒント)∑k5と∑k7を別々に求めては損です。もとのまま、電卓やパソコンで少し実験してみると、答が予想できます。正しく予想できれば証明は容易です。
数学セミナー編集部編(2001)『エレガントな解答をもとむ selections』日本評論社 p21
前回の問題は【1時間チャレンジシリーズ】挑戦㉔を御覧ください。
皆様の挑戦の結果を是非コメントで教えて下さい!
結
いかがでしたか?
今回は数セミの「エレガントな解答をもとむ」に挑戦してみる、という記事でした。
読者の皆様も是非一度挑戦してみて下さい!
そして、「読者の皆様への挑戦状」にも是非挑戦していただき、解答をコメントで教えて下さい!
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、この記事に限らず、「定理〇〇の△△が分からない!」などいただければ全てお答えします!
お問い合わせの内容にもよりますが、ご質問はおおよそ3日以内にお答えします。
もし直ちに回答が欲しければその旨もコメントでお知らせください。直ちに対応いたします。
Twitterでもリプ、DM問わず質問、コメントを大募集しております!
他の「エレガントな解答をもとむ」の問題に挑戦してみたい方はぜひ以下の書籍をお買い求め下さい!
コメントをする