def main(): xs = defaultdict(set) for p, q, x in pythagoreanTriples(): for r, s in xs[x]: for y, z in ((p, r), (r, p), (p, s), (s, p), (q, r), (r, q), (q, s), (s, q)): if y > z and square(y * y - z * z): if all(square(n) for n in [x+y,x-y,x+z,x-z,y+z,y-z]): return x + y + z xs[x].add((p, q))
def main(): return sum(dsum(n) for n in range(1, 101) if not square(n))
def goldbach(n): return any(square((n - p) / 2) for p in takewhile(lambda p: p < n, primes.gen()))
def goldbach(n): return any( square((n - p) / 2) for p in takewhile(lambda p: p < n, primes.gen()))