Problem: Consider the following equation: \( (x-y)^2 + (y-z)^2 + (z – x)^2 = 2018 \). Find the integer solutions to this equation.

Discussion: Set x – y = a, y – z = b. Then z – x = – (a+b). Clearly, we have, \( a^2 + b^2 + (-(a+b))^2 = 2018 \). Simplifying we have \( a^2 + b^2 + ab = 1009 \). Now, treating this as a quadratic in a, we have:

$$ a^2 + ba + b^2 – 1009 = 0 $$

Hence \( a = \frac{-b \pm \sqrt{b^2 – 4(b^2 – 1009)}}{2} = \frac{-b \pm \sqrt{4 \times 1009 – 3b^2}}{2} \)

Since a is an integer, we must have \( 4 \times 1009 – 3b^2 \) (the discriminant) to be a positive perfect square integer. This severely limits the number of possibilities for b. For example, we need \( b^2 \le \frac{4 \times 1009}{3} \) or \( b \le 36 \). So one may ‘check’ for these 36 values.

Only b = 35 works. Then \( a = \frac{-35 \pm \sqrt{4 \times 1009 – 3\times 35^2}}{2} \). But this makes \( a \) negative.

Reducing the number of cases:

  • Suppose b is the smaller of a and b (WLOG) then \( 1009 = a^2 + ab + b^2 \ge b^2 + b*b + b^2 = 3b^2 \) or \( 1009/3 \ge b^2 \) or 19 > b.
  • Also, b is 0, 1 or -1 mod 7 (if \( 4 \times 1009 – 3*b^2 \) needs to be a perfect square). Hence we bring it down to 6 cases: b = 6,7,8,13,14,15

Computation using Haskell