これとてもやってみたかったんです。

自分は2017年から3年間研究室で数理最適化に関する研究をしていました。

数理最適化の考え方は機械学習の考え方と違って泥臭くて、分析したい対象の振る舞いを全て数式化してボトムアップで解を見つける方法なんです。

それとは違って機械学習は、論理はよくわからんが予測して答えがあってればOKという方法です。

これだけ聞くとなんとチャラい考えといいますか…答えだけ書いて道筋示さない学生みたいですよね。

だから当時は機械学習なんてそんなもん答えがあってたとしても何の意味が…みたいに穿った見方でみていました。

ですが、2023年現在の大規模言語モデルの人間の問いに対する回答は、ちゃんと人間が求める背景を汲み取って予測した単語を吐き出してくれるので、予測の羅列とはもう思えないですよね…

そんなChatGPTが今日解く問題はこちら!

https://bouseijuku.sakura.ne.jp/2014kyoto-sugaku.pdf

整数問題です。なぜなら文章として入力しやすいからです。

解答はこちら。

では質問してみましょう。

Let’s ask ChatGPT

### USER
自然数 a,b はどちらも3で割り切れないが, a^3 + b^3 は81で割り切れる.このような a,b の
組 (a , b) のうち, a^2 + b^2 の値を最小にするものと,そのときの a^2 + b^2 の値を求めよ.

### ASSISTANT
a、bは3で割り切れないので、aとbは3の倍数ではありません。このため、aとbは形式3k + 1または3k + 2のどちらかになります。

a^3 + b^3 が81で割り切れるため、a^3 + b^3 = 81n(nは整数)でなければなりません。

仮にaとbがどちらも形式3k + 1であると仮定しましょう。この場合、a = 3x + 1、b = 3y + 1と表すことができます。ここで、xとyは整数です。

a^3 + b^3 = (3x + 1)^3 + (3y + 1)^3
           = 27x^3 + 27x^2 + 9x + 1 + 27y^3 + 27y^2 + 9y + 1
           = 27(x^3 + x^2 + y^3 + y^2) + 9(x + y) + 2

この式が81の倍数であるため、9(x + y) + 2は9の倍数でなければなりません。しかし、これは矛盾です。なぜなら、9(x + y) + 2は必ず2を余りとして残すからです。したがって、aとbは形式3k + 1のどちらもできません。

同様に、aとbがどちらも形式3k + 2である場合も矛盾が生じます。

従って、aとbは形式3k + 1と3k + 2のどちらか一方が成り立つ必要があります。

例えば、a = 3x + 1、b = 3y + 2(または、a = 3x + 2、b = 3y + 1)とします。すると、a^3 + b^3は81で割り切れます。

a^2 + b^2 を最小にするようなaとbを求めたいので、a = 1, b = 2(または a = 2, b = 1)とします。これは、aとbが3で割り切れない最小の整数です。この場合、

a^2 + b^2 = 1^2 + 2^2 = 1 + 4 = 5

したがって、aとbの組(a, b)が(1, 2)または(2, 1)の場合、a^2 + b^2の値は最小で5になります。

### USER
a^3 + b^3 が81で割り切れなくないですか?

### ASSISTANT
すみません、その通りです。私の説明が間違っていました。
...

だめでした。ChatGPTを論破するの気持ちいいですよね。

いきなり答えを求めるんじゃなくて役割を与えて上でステップバイステップで聞くのがいいらしいので試してみましょう。

### USER
あなたは天才大学受験生です。先ほどの問題が入試で出題されました。

問題の答えをステップバイステップで考え、考えの流れと答え
を示してください。

### ASSISTANT
私が天才大学受験生だと仮定し、再度この問題に取り組みます。

問題: 自然数 a,b はどちらも3で割り切れないが, a^3 + b^3 は81で割り切れる.このような a,b の組 (a , b) のうち, a^2 + b^2 の値を最小にするものと,そのときの a^2 + b^2 の値を求めよ.

ステップ 1:
a、bが3で割り切れないことから、aとbは形式3k + 1または3k + 2になります。

ステップ 2:
a^3 + b^3 が81で割り切れることから、a^3 + b^3 = 81n(nは整数)です。

ステップ 3:
aとbの両方が形式3k + 1または3k + 2のどちらか一方を持つ必要があることを確認します。

ステップ 4:
a = 3x + 1、b = 3y + 2(または a = 3x + 2、b = 3y + 1)と仮定します。

ステップ 5:
a^3 + b^3 = (3x + 1)^3 + (3y + 2)^3 または a^3 + b^3 = (3x + 2)^3 + (3y + 1)^3 となります。

ステップ 6:
aとbの組のうち、a^2 + b^2 の値が最小になるものを見つけるために、最小の自然数を代入していきます。

ステップ 7:
a = 1、b = 5の場合、a^3 + b^3 = 1^3 + 5^3 = 1 + 125 = 126。これは81で割り切れません。

ステップ 8:
a = 2、b = 4の場合、a^3 + b^3 = 2^3 + 4^3 = 8 + 64 = 72。これは81で割り切れません。

ステップ 9:
a = 4、b = 5の場合、a^3 + b^3 = 4^3 + 5^3 = 64 + 125 = 189。これは81で割り切れます。このとき、a^2 + b^2 = 4^2 + 5^2 = 16 + 25 = 41。

ステップ 10:
aとbが3で割り切れない最小の整数であり、a^3 + b^3が81で割り切れる組 (a, b) は (4, 5) です。このとき、a^2 + b^2 の最小値は41です。

答え: aとbの

### USER
189が81で割り切れるというのが間違っています。

だめでした。途中からaとbの組み合わせ全部試そうとしてくるところが人間じゃないと言うか計算力に物を言わせた脳筋プレーです。

ヒントを与えるんですが

### USER
最初から

p,rを0以上の整数として,
a=3p+q (q =1 , 2 )
b=3r+s (s =1 , 2 )
のようにおいて、t を自然数として
a^3 + b^3 = (3p+q)^3 +(3r+s)^3 = 3^3 ( p^3 + r^3 + p^q+ r^2s)+ 3^2 (pq^2 +rs^2 )+ q^3 + s^3 =81t= 3^4 t
とでき、したがってuを自然数として、
q^3 + s^3 = 3^2 u とおける。

ここから考えましょう。

### ASSISTANT
分かりました。次のステップから考えましょう。

q^3 + s^3 = 3^2 u とおくと、qとsはどちらも3で割り切れないため、qとsは1または2であることがわかります。

qとsの組み合わせは以下の4つが考えられます。

1. q = 1, s = 1
2. q = 1, s = 2
3. q = 2, s = 1
4. q = 2, s = 2

1. q = 1, s = 1の場合
この場合、q^3 + s^3 = 1^3 + 1^3 = 2であり、9で割り切れません。

2. q = 1, s = 2の場合
この場合、q^3 + s^3 = 1^3 + 2^3 = 1 + 8 = 9であり、9で割り切れます。

3. q = 2, s = 1の場合
この場合も、q^3 + s^3 = 2^3 + 1^3 = 8 + 1 = 9であり、9で割り切れます。

4. q = 2, s = 2の場合
この場合、q^3 + s^3 = 2^3 + 2^3 = 8 + 8 = 16であり、9で割り切れません。

これにより、qとsの組み合わせは (1, 2) または (2, 1) の場合であることがわかりました。

次に、a^2 + b^2 の値が最小になるようなaとbを求めます。

q = 1, s = 2の場合、a = 3p + 1, b = 3r + 2となります。
p = 0, r = 0の場合、a = 1, b = 2となり、a^2 + b^2 = 1^2 + 2^2 = 1 + 4 = 5。

q = 2, s = 1の場合、a = 3p + 2, b = 3r + 1となります。
p = 0, r = 0の場合、a = 2, b = 1となり、a^2 + b^2 = 2^2 + 1^2 = 4 + 1 = 5。

したが...

解答のように因数分解をして式を単純化するプロセスに入りません。

かなり道筋を示しても

### USER
a^3 + b^3 が81で割り切れないです。

人間のように限られた計算リソースを使って代入により最小値を導くのではなく、a=3p+2 ,b=3r+1とおいて、tを自然数として、a^3 + b^3=81t の方程式を単純していく方向性で問題を解いてください。

### ASSISTANT
失礼しました。再度、方程式の簡略化による解法を試みます。

a = 3p + 2, b = 3r + 1 とおいて、t を自然数として、a^3 + b^3 = 81t となることが与えられています。

a^3 + b^3 = (3p + 2)^3 + (3r + 1)^3
          = (27p^3 + 54p^2 + 36p + 8) + (27r^3 + 27r^2 + 9r + 1)
          = 27(p^3 + r^3) + 27(2p^2 + r^2) + 27(2p + r) + 9

これを81tと等しいとすると、次のように整理できます。

27(p^3 + r^3) + 27(2p^2 + r^2) + 27(2p + r) + 9 = 81t
⇒ (p^3 + r^3) + 2(p^2 + r^2) + 2(2p + r) + 1 = 3t

この式から次の条件が必要です。

1. (p^3 + r^3) は3の倍数である
2. (p^2 + r^2) は3の倍数である
3. (2p + r) は3の倍数である

aとbは3で割り切れないという条件があるため、pとrは3の倍数ではありません。これにより、次の事が言えます。

1. pとrはどちらも3で割り切れない
2. p^2 + r^2が3の倍数であることから、pとrはどちらも3の倍数ではない(モジュラー同余を利用)

ここで、p^2 ≡ 1 (mod 3) および r^2 ≡ 1 (mod 3) であることがわかります。したがって、以下の式が成り立ちます。

(p^2 + r^2) ≡ 1 + 1 ≡ 2 (mod 3)

これにより、p^2 + r^2は3で割り切れないことがわかります。しかし、この結果は以前の条件と矛盾しています。したがって、問題の条件下で、a^3 + b^3が81で割り切れるようなa, bの組は存在しません。

モジュラー同余とかかっこいいこと言いながら、解答ないとか嘘つかれてしまいました。

まとめ

ですがまあ数学の問題に対して順序立てて考えているように単語を吐いたり、途中式に関して計算があっていることは十分すごいですよね。

ただ性急に解答に辿り着こうとするような性質がある気がするので、答えになかなか辿り着けない難問に対してしっかり向き合う能力はまだまだ人間に分があるのかもしれません(すぐに抜かされそうですが)