project_euler.problem_138.sol1 ============================== .. py:module:: project_euler.problem_138.sol1 .. autoapi-nested-parse:: Project Euler Problem 138: https://projecteuler.net/problem=138 Special Isosceles Triangles With change of variables c = b/2 and requiring that h = 2c +- 1 the triangle relation c^2 + h^2 = L^2 can be expressed as 5 c^2 +- 4c + 1 = L^2 or with some rearrangement: (5c +- 2)^2 = 5L^2 - 1 This to be solved for positive integer c and L, requires that 5L^2 - 1 = m^2 The above equation is negative Pell's equation with n = 5 and can be solved recursively as outlined in the wikipedia article. Note, we neglect first solution (m = 2, L = 1), as this leads to b and h being non-integers. Reference: https://en.wikipedia.org/wiki/Pell%27s_equation#The_negative_Pell's_equation Functions --------- .. autoapisummary:: project_euler.problem_138.sol1.solution Module Contents --------------- .. py:function:: solution(k: int = 12) -> int The recursive solution of negative Pell's equation with k + 1 values of L summed and the first solution being skipped. >>> solution(2) 322 >>> solution(5) 1866293