整数の問題①~整数は数え上げて求める?~

こんばんは。今回は整数について。理系の高校生レベルのお話をします。

 

私は、アルバイトで塾講師をしていたのですが、生徒にとある問題を出されて、少しだけ困ってしまいました。問題は次のようなものです。

「ある数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の値が求まらない(定式化できない)ことが、証明の過程でわかると思います)(今後少しだけ定式化の方法を考えてはおきますが)

具体的な数値の一般化を行うのがとても難しい整数の問題。このような初等問題でもそれがにじみ出ています。素数の規則性が見つかっていないのも、これと似たようなお話なのかもしれませんね。