こんばんは。今回は整数について。理系の高校生レベルのお話をします。
私は、アルバイトで塾講師をしていたのですが、生徒にとある問題を出されて、少しだけ困ってしまいました。問題は次のようなものです。
「ある数a+1は4で割りきれ、a+2は7で割りきれる。a+9は28で割り切れることを証明せよ(aは自然数)」……(*)
この問題の前にこのような定理が載っていました。
「aとbが互いに素ならば、a*kがbの倍数である時、kはbの倍数である」…(※)
恥ずかしいことに私はコチラを見落としていたので、合同式で*の問題を解いてしまいました。(証明は背理法でします)
合同式ってなんだい?という方に簡単な説明をします。≡(合同)の記号を用いて、整数同士の関係を表すのですが、ひとまず例を。
a ≡ b (mod n)
この式が意味するところは、”nという自然数(整数も可)でa(整数)を割った時の余りとb(整数)を割った時の余りは等しい”ということです。
話を戻しましょう。*を※によって解くのなら、
答案①
a+1=4*k..........(1) a+2=7*l.........(2) (k,lは自然数)
(1)から
a+9=4*k+8=4*(k+2).......(1')
また(2)から
a+9=7*l+7=7*(l+1).......(2')
(1'),(2')から
a+9=4*(k+2)=7*(l+1)
4と7は互いに素だから※より、k+2は7の、l+1は4の倍数である。
よってa+9は28の倍数。
終わり
となります。生徒さんに「こういう問題って必ずこうやって解けばできるんですよね?」と聞かれて、そんじゃ他に問題を作ってみようと思い、いざ作ろうとすると、すぐにはできませんでした。何かががおかしいと思い、自分が合同式を使って解いた答案を見てみたのです。(その時は合同式ではなく(1),(2)と同じ式を使って、合同式の考え方を活用しました)
答案②
a+1≡0 (mod 4)......(3) a+2≡(a+1)+1≡0 (mod 7)......(4)
a+1を28で割った余りとして考えられるのは(3)より、
a+1≡{4,8,12,16,20,24,28} (mod 28).......(3')
a+2では
a+2≡{7,14,21,28} (mod 28)
(4)から、a+1≡(a+2)-1(mod 7)より
a+1≡{3,7,11,15,20,23,27} (mod 28)......(4')
(3'),(4')より a+1≡20 (mod 28)
よって a+9≡(a+1)+8≡20+8≡0 (mod 28)
終わり
めんどくさいですね。でもこちらの回答の方が本質的です。なぜならば、*は問題が上手く作ってある(割り切れるように最初から作ってある。割り切れるなら※が必ず使えるはずだから)
仮に他に問題を作るのなら、答案②の(3')(4')のように数え上げてから、割り切れるような数を足してあげるしかないのです。
(上手い方法を知っている方は教えてください)
更にこのお話を拡張してみました。
「ある自然数b,cは互いに素であるとする。以下の条件を満たす全ての自然数a
a≡x (mod b), a≡y (mod c), (0≦x≦b,0≦y≦c)
に対して、a≡z (mod b*c), (0≦z≦bc)であるzの値はx,yの値に応じて一意に求まる」
(x,y)の値の組は全部でb*c通りありますし、zの値の場合の数はb*c通りなので当然のことのように見えます。これの証明は合同式を使えばすぐにできます。※を使ってもできます。
なんにせよ、ある数aに足したら、その合計がb*cで割り切れるようになる数は数え上げて求めるしかないようです。(上の命題では一意性しか証明しておらず、zの値を求めることはできていない。合同式を使ってやるのは不可能ですし、答案①のような式の置き方をしてもzの値が求まらない(定式化できない)ことが、証明の過程でわかると思います)(今後少しだけ定式化の方法を考えてはおきますが)
具体的な数値の一般化を行うのがとても難しい整数の問題。このような初等問題でもそれがにじみ出ています。素数の規則性が見つかっていないのも、これと似たようなお話なのかもしれませんね。