برای حل این معادله، میتوان از روش جستوجوی خطی استفاده کرد. با توجه به این که مقدار$ 2015$ به صورت مجموع سه مربع کامل قابل نمایش است، میتوانیم به دنبال تمام جفتهای مرتب اعداد طبیعی$ (x، y، z)$ بگردیم که مجموع مربعات آنها برابر با $2015 $است.
برای این منظور، میتوانیم از دو حلقه تودرتو استفاده کنیم. در حلقه خارجی، از یک عدد صحیح$ i $شروع کرده و تا جزئیات زیر پیش برویم:
- در حلقه داخلی، از یک عدد صحیح$ j $شروع کرده و تا جزئیات زیر پیش برویم:
- در حلقه داخلی دوم، از یک عدد صحیح $k$ شروع کرده و تا جزئیات زیر پیش برویم:
- اگر مقدار $x^2 + y^2 + z^2$ برابر با$ 2015 $باشد، آنگاه یک جواب صحیح پیدا شده است.
- اگر مقدار $x^2 + y^2 + z^2 $بیشتر از $2015 $باشد، آنگاه دیگر نیازی به ادامه حلقه داخلی نیست و میتوان به حلقه داخلی بعدی رفت.
- در پایان حلقه داخلی دوم، به حلقه داخلی بعدی میرویم.
- در پایان حلقه داخلی، به حلقه خارجی برمیگردیم.
- در پایان حلقه خارجی، جستوجو تمام شده است و تعداد جوابهای صحیح پیدا شده را محاسبه میکنیم.
کد این الگوریتم به صورت زیر است:
count = 0
for i in range(1, int(math.sqrt(2015)) + 1):
for j in range(i, int(math.sqrt(2015 - i**2)) + 1):
for k in range(j, int(math.sqrt(2015 - i**2 - j**2)) + 1):
if i**2 + j**2 + k**2 == 2015:
count += 1
print(count)
با اجرای این کد، تعداد جوابهای صحیح معادله به دست میآید.