BLOG ブログ

Coffee Break!~ネット配信の記事っていろいろありますよね?

ふとした瞬間,スマホをみるとネット記事の配信が。

自宅等で休んでいるときにスマホを見ると,ネット記事の配信が結構来ていたりします。
聞くところによると,このようなネット記事は個人が普段見ている記事の志向その他をアルゴリズムが自動的に判別して振り向けているそう。

当然,そのようなことをされるのはあまり気分がよいものではないので,ネット業者に策あらばこちらに対策ありを行った結果,脈絡のない記事が配信されることが多く,今回はそのなかの一つに目が留まった,そういうお話になります。

整数問題~高校生じゃないんだけどなぁ。

そんなときに配信されてきた記事が,次のようなもの。
ズバリ1行です。

\(a^2+b^2=1224\)となるような自然数\(a,b\)をすべて求めよ!

というものです。
高校生じゃないんだけどなぁと思いつつ、面白そうなので解いてみることにしました。

自然数とはなにか。

まずはここからです。自然数の定義は非常にシンプルで、単純に個数ないし順番を表す数です。

たとえば一人、二人、三人というときの、1,2、3が該当します。

あくまでシンプルに数える際の数ですから、0.5のような少数や\(\sqrt{2}\)のような無理数は自然数ではありません。

では問題をよく見てみましょう。

\(a^2+b^2=1224\)、う~ん、難しそうだぞ!

\(a,b\)に何かしらの自然数を入れて二乗にすると\(1224\)になるのはわかりました。
\(1224\)なので、Max34ぐらいの数なのかなと思いつつ、それでも1~34の組み合わせはまだ多いです。
エクセルでも使わない限り、組み合わせを探し出そうという気にはなかなかなれません。

とりあえず\(1224\)を素因数分解でもしてみよう、そのように思いました。

\(1224\)を素因数分解してみると・・・・・・。

素因数分解とは、素数の掛け算になおしてあげること。小さい素数から順番に割っていき、最終的に素数の掛け算の形にしてしまいます。
\(1224\)を素因数分解すると、

\(1224=2^3\cdot{3^2}\cdot{17}\)

という形になりました。

ふ~ん、と眺めつつ、眺めているだけでは答えがでないので、とりあえず3が因数に含まれていることに注目。

\(1224\)の因数に\(3\)が含まれているということは、\(1224\)は当然\(3\)で割り切れますし、なにより\(a^2+b^2\)も\(3\)で割り切れることを意味します。

では割ってみましょう。

\(3\)で割ってみる、その余りを見てみる。

とりあえず\(3\)で割ってみます。

すると、
$$\frac{a^2}{3}+\frac{b^2}{3}=408$$
となります。

ここで話が変わりますが、ある数を3で割った場合、その余りは0である場合と1、2になる場合とで合計3パターン考えられます。

二つの自然数を3で割り、これを足し合わせた場合に、足し合わせた結果が余りなしになるには、両方とも余りがない \(0+0\)のパターンと、\(1+2\),\(2+1\)のパターンいずれかになります。

さらに今回の問題の数字は二乗されています。ざっと暗算してみたところ、3以上の数を二乗して、さらに3で割った場合の余りは、多くても1になりそうです(\(4^2=15+1,5^2=24+1)\))。

もし二乗された3以上の自然数を3で割った際、余りが多くとも1にしかならないということであれば、\(\frac{a^2}{3}+\frac{b^2}{3}\)が余りなしになるには、\(a,b\)はいずれも3の倍数である必要があります。

3以上の任意の自然数を二乗して3で割った際の余りは多くとも1

では確認してみましょう。ここで任意の自然数を\(n\)としこれを用いて、3で割った際に余りが0,1、2となる数をそれぞれ作り、二乗して、3で割った際の余りを見ます。

余り0: \(3n+0, (3n+0)^2=9n^2\), 二乗後の余り0
余り1: \(3n+1, (3n+1)^2=9n^2+6n+1\), 二乗後の余り1
余り2: \(3n+2, (3n+2)^2=9n^2+12n+4\), 二乗後の余り1

これで3以上の自然数を3で割った際、余りは多くとも1にしかならないことが確認できました。
余りが多くとも1にしかならなければ、\(a,b\)は3の倍数である必要があります。
(なお、1、2もありえなくはありませんが、逆に35,34を入れてみるといいと思います。)

\(a,b\)は3の倍数

\(a,b\)が3の倍数であることが確定しました。
3の倍数であることが確定したので、
$$a=3p\\b=3q$$
とできます。
ただこれにしたところで、34までの3の倍数は、11個あります。まだ絞り込みが必要です。
ところでこれを与式に代入すると
$$(3p)^2+(3q)^2=1224\\p^2+q^2=136$$となります。
先ほどの素因数分解からすれば、136は4の倍数なので、今度は4で同じことができるかもです。
やってみます。

今度は4で割ります。

136が4で割れることに着目し、
$$\frac{p^2}{4}+\frac{q^2}{4}=34$$
を計算してみます。
3でやったときと同じです。

ここでも4以上の任意の自然数を二乗して4で割った際の余りに着目します。
ここで任意の自然数をmとし、4以上の自然数のうち、4で割った際に余り0,1,2,3となる数字を作ります。

余り0: \(4m+0, (4m+0)^2=16m^2\), 二乗後の余り0
余り1: \(4m+1, (4m+1)^2=16m^2+8m+1\), 二乗後の余り1
余り2: \(4m+2, (4m+2)^2=16m^2+16m+4\), 二乗後の余り0
余り3: \(4m+3, (4m+3)^2=16m^2+24m+9\), 二乗後の余り1

ここでも余りは1か0かのいずれかです。ただし、二乗する前の余りが2のときも二乗をした後の余りが0になります。
例によって1,2,3の数字を入れても他方が整数になりません。

なお\(p,q\)のいずれかを11とし、いずれかを4とした場合、137となり136を超えるので、\(p,q\)の上限は10までとなります。

このため、\(p,q\)は4以上の2の倍数で、かつ10までです。

最後の仕上げに行きます。

ここまで絞り込むことができればあとは簡単です。

二乗前,二乗後
4,16
6,36
8,64
10,100

この組み合わせの中から、二乗後136になるものを探します。

以上から、
\(p=6, q=10\)(逆でも当然大丈夫です。)
このため、
\(a=18, b=30\)(逆でも当然大丈夫です。)

となります。

わからないことは、分割してみたり、ばらしてみたり、分類してみたりして切り分ける。

この問題も最初見たとき、どこからどう手を付けようかと思ったものでした。

そういう意味では、複雑に絡み合った案件と巡り合った際の問題解決の端緒をつかむところに通じるものがあるように思います。

わからないことは分割したりばらしてみたり、分類して切り分け、そもそも問題はなにか、どうすれば解決の糸口を見いだせるか

切り分けを通じて一つのことが分かった、そこから何が引き出せ、次に何が活かせるか。

日々精進と思う次第です。

CONTACT
お問い合わせ

ご相談のご依頼やお問い合わせは、下記のフォームより受付しております。