ディオファントス方程式の記事のコメントで自分で書いた事を、
今読んで見て「こりゃヒドイ、ワカルワケねー」と思ったので解説。
いや、
みんな分かったのかな?「わからなかったです」ってコメント無いから。
「7n+13m=135 この式を満たす自然数n,mはあるか?」って問題に
「7と13が互いに素で135>91=7x13だから~」が何故に答えになるか?
その理由は以下。
(13*0) ÷ 7 = 0 余り 0
(13*1) ÷ 7 = 1 余り 6
(13*2) ÷ 7 = 3 余り 5
(13*3) ÷ 7 = 5 余り 4
(13*4) ÷ 7 = 7 余り 3
(13*5) ÷ 7 = 9 余り 2
(13*6) ÷ 7 = 11 余り 1
となる、7と13が互いに素なので。
‘となる’と言ったのは、13の倍数を7で割った時、全種類(0~6)の余りが出るってところ。
この余りは今の場合、とても良く使える。
で、
91 = 7*13
と言うわけなので、こんな事が言える。
もし91に1足した、92を作りたい場合は、
7*11 = 77 を 13*6 = 78 に置き換えると、
92 = 7*2 + 13*6
で出来る。
もし91に2足した、93を作りたい場合は、
7*9 = 63 を 13*5 = 65 に置き換えると、
93 = 7*4 + 13*5
で出来る。
そんな具合で、91~97まで確かめられる。
98には91+7としたらいい。
なので91以上の数字は、7n+13mで作れる◆
と!ここまできて
「あれ?もっと精度上がらない!?」
って思った方は、是非コメント残してね。
ふふふ
自分向けメモ。Pythonコード。
全角スペースをインデントに置き換えたら、ちゃんと走る。
for x in range(91, 0, -1):
print [((y%7),((y%13)%7)) for y in range(x,0,-20)],
if 0 in [(y%7)*((y%13)%7) for y in range(x,0,-20)]:
print x, ‘○’
else:
print x,’×’