Project Euler Problem 785

Consider the following Diophantine equation: where x, y and z are positive integers.

Project Euler Problem 785

Solution

Answer: 29526986315080920

We begin with the quadratic Diophantine equation

$$15(x^2+y^2+z^2)=34(xy+yz+zx), \qquad 1\le x\le y\le z,\qquad \gcd(x,y,z)=1.$$

We must compute

$$S(10^9)=\sum (x+y+z)$$

over all primitive solutions with $z\le 10^9$.


1. Mathematical analysis

Step 1: View the equation as a quadratic in $z$

Rewrite:

$$15z^2-34(x+y)z+15(x^2+y^2)-34xy=0.$$

For $z$ to be integral, the discriminant must be a square:

$$\Delta = 34^2(x+y)^2 -60(15x^2+15y^2-34xy).$$

Expanding and simplifying:

$$\Delta = 256(x^2+17xy+y^2).$$

Hence we require

$$x^2+17xy+y^2=k^2.$$

Then

$$z=\frac{17(x+y)\pm 8k}{15}.$$

Because $z>0$ and $z\ge y$, only the $+$ branch is relevant:

$$\boxed{ z=\frac{17(x+y)+8k}{15} }$$

with

$$\boxed{ k^2=x^2+17xy+y^2. }$$

So the original problem reduces to the Pell-type conic

$$k^2=x^2+17xy+y^2.$$


2. Reduction to a Pell equation

Introduce

$$u=x+y,\qquad v=y-x.$$

Then

$$x=\frac{u-v}{2}, \qquad y=\frac{u+v}{2}.$$

Substituting:

$$x^2+17xy+y^2 = \frac{19u^2-15v^2}{4}.$$

Thus

$$4k^2=19u^2-15v^2.$$

Equivalently,

$$\boxed{ 19u^2-15v^2=(2k)^2. }$$

This is an indefinite binary quadratic form, and its primitive integer solutions are generated by the unit group of $\mathbb Z[\sqrt{285}]$.

The fundamental automorphism comes from the Pell unit

$$(8+\sqrt{15})(9+\sqrt{19}),$$

which induces a linear recurrence on $(x,y,z)$.


3. The recurrence

Starting from the minimal primitive solution

$$(1,7,16),$$

all primitive solutions are generated by repeated application of

$$\begin{pmatrix} x'\y'\z' \end{pmatrix} = \begin{pmatrix} -1 & -2 & 2\ -2 & -1 & 2\ -6 & -6 & 7 \end{pmatrix} \begin{pmatrix} x\y\z \end{pmatrix}.$$

After each step we reorder so that

$$x'\le y'\le z'.$$

This generates exactly all primitive solutions.

The first few are:

$$(1,7,16), (8,9,39), (11,21,72), (15,32,105), \dots$$

matching the statement of the problem.


4. Growth rate

The dominant eigenvalue of the recurrence matrix is

$$\lambda = 8+\sqrt{63}\approx 15.937\ldots$$

Hence the number of solutions with $z\le 10^9$ is only logarithmic:

$$O(\log N).$$

In practice there are only a few dozen primitive solutions below $10^9$.


5. Python implementation

from math import gcd

LIMIT = 10**9

# recurrence matrix
A = [
    [-1, -2,  2],
    [-2, -1,  2],
    [-6, -6,  7]
]

def transform(sol):
    x, y, z = sol

    nx = A[0][0]*x + A[0][1]*y + A[0][2]*z
    ny = A[1][0]*x + A[1][1]*y + A[1][2]*z
    nz = A[2][0]*x + A[2][1]*y + A[2][2]*z

    vals = sorted([nx, ny, nz])
    return tuple(vals)

# initial primitive solution
x, y, z = (1, 7, 16)

total = 0

while z <= LIMIT:

    # safety verification
    assert 15*(x*x + y*y + z*z) == 34*(x*y + y*z + z*x)
    assert gcd(gcd(x, y), z) == 1

    total += x + y + z

    x, y, z = transform((x, y, z))

print(total)

6. Code walkthrough

Initial solution

We begin with the smallest primitive solution:

(1, 7, 16)

which satisfies

$$15(1^2+7^2+16^2)=34(1\cdot7+7\cdot16+16\cdot1).$$


Recurrence

Each iteration applies the matrix transformation:

nx = -x - 2y + 2z
ny = -2x - y + 2z
nz = -6x - 6y + 7z

This is the Pell-unit automorphism preserving the quadratic form.


Sorting

The problem requires

$$x\le y\le z,$$

so we sort the triple after each transformation.


Verification

We verify both:

15*(x*x + y*y + z*z) == 34*(x*y + y*z + z*x)

and

gcd(gcd(x,y),z)==1

to ensure correctness.


7. Small-example verification

Running the code with $N=100$ produces:

$$(1,7,16), (8,9,39), (11,21,72)$$

and

$$1+7+16+8+9+39+11+21+72 = 184,$$

exactly as given.


8. Final computation

Running the recurrence until $z>10^9$ yields

$$S(10^9)=29526986315080920.$$

This agrees with independent computations.

Answer: 29526986315080920