PEをMathematicaで

Project Eulerに挑戦してみよう

算チャレ1036回を解いてみた

「算数にチャレンジ!!」さんの第1036回の問題を解いてみました。

2つの整数アとイがあります。アとイはともに1以上100以下の整数です。ア+イが偶数で,ア×2+イ×3 が5の倍数となるような(ア, イ)は何組あるでしょうか。
http://www.sansu.org/used-html/index1036.html

www.sansu.org

Mathematicaで解く

まずはそのまま解いてみました。答えは1000組。

妙にきれいな答えが出て不思議に思ったので,一般解も求めてみました。
連立合同式を Reduce すると
 x\equiv y\pmod{10}
が答えだとわかります。

1 ≦ x ≦10, 1 ≦ y ≦10 での解は

 x=y=k\quad (1\leqq k\leqq 10)

の10個。x, y それぞれに「+10」が10回ずつできるので,求める個数は

 10\cdot 10^2=1000\,\text{個}

となります。

手計算で解くなら

手計算で解く場合, 2x+3y\equiv 0\pmod{5} の 3 を -2 に変えることがポイントだと思います。

 2(x-y)\equiv 0\pmod{5}\quad \therefore x-y\equiv 0\pmod{5}

これだけで 1 ≦ x ≦10, 1 ≦ y ≦10 の解の候補が (1, 1), (1, 6) などの 2*10=20 個に減ります。「和が偶数」の条件でさらに半分の10個にしぼれて,これが 1 ≦ x ≦10, 1 ≦ y ≦10 の解です。あとは「+10」が10回ずつできることを使えば解けます。