diff --git a/src/Python/Problem066.py b/src/Python/Problem066.py new file mode 100644 index 0000000..292904c --- /dev/null +++ b/src/Python/Problem066.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python +""" +Created on 08 Sep 2023 + +@author: David Doblas Jiménez +@email: daviddoji@pm.me + +Solution for problem 066 from Project Euler +https://projecteuler.net/problem=66 +""" + +from sympy import simplify +from sympy.abc import t, x, y +from sympy.solvers.diophantine.diophantine import diop_quadratic +from utils import timeit + + +@timeit("Problem 066") +def compute(): + """ + # Statement + """ + + max_d, max_x = 0, 0 + for d in range(2, 1000): + solve = diop_quadratic(x**2 - d * y**2 - 1, t) + for i in solve: + sol = simplify(i.subs({t: 0})) + xx = sol[0] + if xx > max_x: + max_x = xx + max_d = d + + return max_d + + +if __name__ == "__main__": + print(f"Result for Problem 066 is {compute()}")