Esempio n. 1
0
def main():
    max_d, max_x = 0, 0
    for d in xrange(2, 1001):
        for x, y in continued_fraction(d):
            if x ** 2 - d * y ** 2 == 1:
                if x > max_x:
                    max_x = x
                    max_d = d
                break
    print max_d
Esempio n. 2
0
def solve_diophantine_equation(D):
    n = 0
    expansion = continued_fraction(D)
    while True:
        frac = approximation(expansion, n)
        x = frac.numerator
        y = frac.denominator
        if x**2 - D * y**2 == 1:
            return x, y
            break
        n += 1
Esempio n. 3
0
def main():
    print sum(
        [1 for i in [max(0, len([i for i in continued_fraction(n, True)]) - 1) for n in xrange(2, 10001)] if i % 2 == 1]
    )