**Problem:**

Consider quadratic Diophantine equations of the form:

x2 – Dy2 = 1

For example, when D=13, the minimal solution in x is 6492 – 13[×]1802 = 1.

It can be assumed that there are no solutions in positive integers when D is square.

By finding minimal solutions in x for D = {2, 3, 5, 6, 7}, we obtain the following:

32 – 2[×]22 = 1

22 – 3[×]12 = 1

92 – 5[×]42 = 1

52 – 6[×]22 = 1

82 – 7[×]32 = 1

Hence, by considering minimal solutions in x for D [≤] 7, the largest x is obtained when D=5.

Find the value of D [≤] 1000 in minimal solutions of x for which the largest value of x is obtained.

x2 – Dy2 = 1

For example, when D=13, the minimal solution in x is 6492 – 13[×]1802 = 1.

It can be assumed that there are no solutions in positive integers when D is square.

By finding minimal solutions in x for D = {2, 3, 5, 6, 7}, we obtain the following:

32 – 2[×]22 = 1

22 – 3[×]12 = 1

92 – 5[×]42 = 1

52 – 6[×]22 = 1

82 – 7[×]32 = 1

Hence, by considering minimal solutions in x for D [≤] 7, the largest x is obtained when D=5.

Find the value of D [≤] 1000 in minimal solutions of x for which the largest value of x is obtained.

**Solution:**

1366

**Code:**

The solution may include methods that will be found here: Library.java .

The solution may include methods that will be found here: Library.java .

public interface EulerSolution{

public String run();

}

/*

* Solution to Project Euler problem 16

* By Nayuki Minase

*

* http://nayuki.eigenstate.org/page/project-euler-solutions

* https://github.com/nayuki/Project-Euler-solutions

*/

import java.math.BigInteger;

public final class p016 implements EulerSolution {

public static void main(String[] args) {

System.out.println(new p016().run());

}

public String run() {

String temp = BigInteger.ONE.shiftLeft(1000).toString();

int sum = 0;

for (int i = 0; i < temp.length(); i++)

sum += temp.charAt(i) - '0';

return Integer.toString(sum);

}

}

## No comments :

## Post a Comment