Solution to problem 66 in Python
This commit is contained in:
parent
b1433cbc84
commit
9b0f077d2b
38
src/Python/Problem066.py
Normal file
38
src/Python/Problem066.py
Normal file
@ -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()}")
|
Loading…
x
Reference in New Issue
Block a user