Erdős problem #393 — wave 9b
Date of live-page check and computation: 2026-07-28 UTC.
Claim labels
- (a) elementary-rigorous: a complete proof is given here using only
elementary facts.
- (b) rigorous-modulo-named-theorem: the deduction is rigorous assuming
the accurately cited theorem.
- (c) plausible/structural-unverified: a heuristic, an unrefereed claim,
or a claim not audited here.
- (d) computational-only: exact finite computation, but not a formal
theorem certificate.
- (S) source observation: a directly observed statement or status from
a cited source, rather than a mathematical claim.
0. Mandatory live-page gate
(S) I fetched both the live problem page and its discussion thread through the Bright Data browser, not datacenter curl. The page was accessed on 2026-07-28.
(S) Verbatim live statement:
Let \(f(n)\) denote the minimal \(m\geq 1\) such that \[ > n!=a_1\cdots a_t > \] with \(a_1<\cdots<a_t=a_1+m\). What is the behaviour of \(f(n)\)?
(S) Gate status: the page says OPEN, “0 claimed proofs,” “Currently working on this problem: None,” and “Interested in collaborating: None.” Thus the required stop rule did not trigger. The other displayed markers were: one like from Alfaiz; “looks difficult: None”; “looks tractable: None”; “results could be formalisable: None”; and “working on formalising: None.”
(S) Known results displayed on the live page:
- Erdős and Graham did not know whether \(f(n)=1\) infinitely often.
- If \(F_m(N)=\#\{n\leq N:f(n)=m\}\), Berend and Osgood proved
\(F_m(N)=o(N)\) for each fixed \(m\).
- Bui, Pratt, and Zaharescu proved
\(F_m(N)\ll_m N^{33/34}\).
- Luca's theorem implies, conditionally on \(abc\), that
\(f(n)\to\infty\).
- The related sequence is OEIS
All eight comments read
The page warns that comments are not verified. Here is a complete account of their substantive content.
- (c) Dogmachine, 2025-08-09: Pomerance made the analogous conjecture
that only finitely many primorials are products of two consecutive integers.
- (d) Terence Tao, 2025-09-15: the then-current database computation had
exact values only through \(n=11\) and upper bounds through \(n=19\); he invited a more efficient computation and an OEIS submission.
- (S) Thomas Bloom, 2025-09-16: the faulty OEIS-display link was fixed.
- (c) Terence Tao, 2025-09-16: a 2-adic capacity sketch suggests that if
\(f(n)<n-C\log n\), then a factorization would be forced toward only \(O(\log n)\) very large, closely spaced factors.
- (c) Terence Tao, 2025-09-17: he continued that sketch using small-prime
valuations and low radicals, suggesting \(f(n)=n-O(\log n)\) under \(abc\). He also suggested a separate possible construction mechanism using divisibility of short initial products in a binomial coefficient.
- (c) Thomas Bloom, 2025-09-17: Luca's 2002 paper appears to contain the
same kind of \(abc\)-conditional mechanism, though not quantitatively.
- (c) David Turturean, 2026-05-03: an unrefereed
Overleaf manuscript claims that \(abc\) gives \[ n-O(\log n)\leq f(n)\leq n-2 \] for all sufficiently large \(n\). The comment says automated multi-turn ChatGPT audits found no issue, and says attempts to remove \(abc\) ended at an \(abc\)-like low-radical kernel. I opened the manuscript and verified that its title, abstract, and main stated theorem say exactly this; I did not independently audit its proof.
- (c) Nat Sothanaphan, 2026-05-04: a “standard check” of that manuscript
reportedly found no issue. This is a comment, not a site proof claim or a peer-reviewed result.
1. Primary-source literature check
(S) The original source is the scan of Erdős and Graham, Old and New Problems and Results in Combinatorial Number Theory, Monographie 28 (1980), printed page 76. It asks to write \(n!=a_1\cdots a_t\), with \(a_1<\cdots<a_t\), so as to minimize \(a_t-a_1\), for fixed or variable \(t\), and says they did not know that the minimum could not equal one infinitely often.
(b) Berend and Osgood's paper exists as D. Berend and C. F. Osgood, “On the equation \(P(x)=n!\) and a question of Erdős,” Journal of Number Theory 42 (1992), 189–193, DOI 10.1016/0022-314X(92)90020-P90020-P). Its publisher abstract states that for every fixed integer polynomial \(P\) of degree at least two, the set of \(n\) for which \(P(x)=n!\) has an integer solution has density zero.
(b) Bui–Pratt–Zaharescu exists as H. M. Bui, K. Pratt, and A. Zaharescu, “Power savings for counting solutions to polynomial-factorial equations,” Advances in Mathematics 422 (2023), 109021, DOI 10.1016/j.aim.2023.109021, arXiv:2204.08423. Theorem 1.1 says that for fixed \(P\in\mathbb Z[x]\), \(\deg P\geq2\), and fixed nonzero \(s\),
(b) Luca's paper exists as F. Luca, “The Diophantine equation \(P(x)=n!\) and a result of M. Overholt,” Glasnik Matematički 37(57) (2002), 269–273, primary full text. Its abstract and theorem state that, assuming \(abc\), every fixed integer polynomial of degree at least two takes factorial values only finitely often.
Why these polynomial theorems apply
(a) Fix \(m\). Any width-\(m\) factorization has a unique offset set
and is an integer solution of
There are exactly \(2^{m-1}\) possible \(S\), and every \(P_S\) has degree at least two.
(b) Applying Berend–Osgood or Bui–Pratt–Zaharescu to this finite family gives precisely the live-page density-zero and \(N^{33/34}\) statements. Summing over \(1\leq m\leq M\) gives the useful unconditional corollary
for every fixed \(M\). Thus \(f(n)\to\infty\) in natural density, but this is not pointwise divergence.
(b) If \(f(n)\leq M\) for infinitely many \(n\), one fixed pair \((m,S)\) would recur infinitely often. Luca's theorem rules this out under \(abc\), proving the page's conditional pointwise conclusion.
(d) Exact-phrase searches of the statement, searches forward from the three named papers, and searches of recent factorial/short-interval papers found no additional peer-reviewed result specifically resolving #393. Tao's 2026 arXiv paper 2603.27990 concerns products of consecutive integers with unusual anatomy and different factorial equations; it does not state #393 or the present \(f(n)\) question. Search misses are not evidence that no other literature exists.
2. New exact finite result
(S) On 2026-07-28, OEIS A388302 contained exact values only for \(2\leq n\leq79\), ending at \(f(79)=72\).
(d) New computation: the exact table extends through \(n=100\):
| \(n\) | \(f(n)\) | witness \(t\) | least factor | greatest factor | witness SHA-256 prefix | |---:|---:|---:|---:|---:|:---| | 80 | 76 | 56 | 96 | 172 | b02a8957cbd9413c | | 81 | 78 | 68 | 24 | 102 | 2f589487f14490ea | | 82 | 78 | 71 | 18 | 96 | 4163b8720b2dffee | | 83 | 78 | 72 | 18 | 96 | 6fe0b181dc95cd48 | | 84 | 81 | 63 | 63 | 144 | c9139ca6fa3fcd81 | | 85 | 81 | 72 | 24 | 105 | 13badb959beab0b8 | | 86 | 82 | 63 | 80 | 162 | 2f0fdb6bff37cffa | | 87 | 82 | 64 | 80 | 162 | 7b28e432d1c7c236 | | 88 | 82 | 65 | 80 | 162 | 1933352fe4eca173 | | 89 | 82 | 66 | 80 | 162 | 3141be6225268af0 | | 90 | 86 | 67 | 76 | 162 | 6dcee5de6a578a85 | | 91 | 86 | 79 | 22 | 108 | 3694d4805d04a77c | | 92 | 87 | 69 | 75 | 162 | d885b18c7d16ea82 | | 93 | 88 | 82 | 20 | 108 | b199da0f2f91b644 | | 94 | 89 | 70 | 80 | 169 | 7574139295ff43cc | | 95 | 89 | 75 | 54 | 143 | 3b41c34ce23ac20d | | 96 | 92 | 76 | 52 | 144 | 84e614d4d03ff6e4 | | 97 | 92 | 77 | 52 | 144 | 3b9ac250f30f74bd | | 98 | 93 | 76 | 63 | 156 | 58b454a2d99933cb | | 99 | 94 | 81 | 42 | 136 | 04ac682eb43f8f36 | | 100 | 96 | 81 | 48 | 144 | bb3cdb79d4eb5bad |
The hash is the first 16 hexadecimal digits of the SHA-256 of the comma-separated increasing witness. The verifier prints every full witness unless --summary-only is supplied.
Explicit first new witness
(d) The following 56 distinct integers have product exactly \(80!\):
96, 98, 99, 100, 102, 104, 105, 106, 108, 110, 111, 112, 114, 115,
116, 117, 118, 120, 121, 122, 124, 125, 126, 128, 130, 132, 133, 134,
135, 136, 138, 140, 141, 142, 144, 145, 146, 147, 148, 150, 152, 153,
154, 155, 156, 158, 160, 161, 162, 164, 165, 168, 169, 170, 171, 172
Their span is \(172-96=76\), proving the finite upper bound \(f(80)\leq76\). The script checks the literal arbitrary-precision product and, independently, refactors every term and checks every prime valuation against Legendre's formula for \(80!\).
3. Exact exhaustive reduction
Let \(N=n!\), fix a proposed maximum width \(w\), and fix a possible number \(t\) of factors.
Geometric-mean window lemma
(a) Lemma. If
and \(g=N^{1/t}\), then every \(q_i\):
- divides \(N\);
- lies in \([g-w,g+w]\); and
- \(2\leq t\leq w+1\).
(a) Proof. Positivity and \(\prod q_i=N\) give \(N/q_i=\prod_{j\ne i}q_j\in\mathbb Z\), so \(q_i\mid N\). The geometric mean lies between the minimum and maximum: \(q_1\leq g\leq q_t\). Since \(q_t-q_1\leq w\), every point of \([q_1,q_t]\), including every \(q_i\), is within \(w\) of \(g\). Finally, an integer interval of span \(w\) contains at most \(w+1\) distinct integers. \(\square\)
(a) If \(r=\lfloor N^{1/t}\rfloor\), it is therefore safe to inspect only the at most \(2w+2\) integers
The one-integer overhang handles a nonintegral root without any floating-point arithmetic. The code computes \(r\) by exact integer binary search and retains only divisors of \(N\).
Exact 0/1 feasibility system
For the resulting candidate divisors \(D_t\), introduce \(x_q\in\{0,1\}\). The complete feasibility system is
and
(a) Equivalence proof. Any desired factorization is in the candidate window by the lemma, its indicator vector satisfies the count, valuation, and diameter constraints, and hence gives a feasible 0/1 point. Conversely, a feasible point chooses \(t\) distinct positive integers with pairwise distance at most \(w\). Every candidate divides \(n!\) and has no prime outside \(p\leq n\); equality of all prime valuations therefore makes the selected product exactly \(n!\). Thus the finite system is feasible if and only if a width-at-most-\(w\), \(t\)-factor representation exists.
(d) OR-Tools CP-SAT solves these exact integer constraints. The program accepts INFEASIBLE as a lower-bound result, accepts FEASIBLE/OPTIMAL only after literal witness checks, and treats UNKNOWN or a timeout as a hard failure. Therefore it never converts failure to find a solution into a claimed lower bound.
The \(n=80\) lower bound in detail
(d) To show \(f(80)>75\), the verifier exhausted all 75 possible counts \(2\leq t\leq76\):
- 26 counts had fewer than \(t\) candidate divisors;
- 6 more failed the exact total-prime-exponent coverage precheck;
- all remaining 43 exact 0/1 models were
INFEASIBLE.
CP-SAT's presolver resolved those 43 models with zero search branches and zero conflicts (0.291 seconds of reported solver time; about 1.2 seconds including Python candidate construction). As a differential check, a separate python-mip/CBC process independently found every one of those same 43 models infeasible. CBC is a second computational check, not a formal proof certificate.
Combining this exhaustive lower computation with the explicit span-76 witness gives the computational equality \(f(80)=76\).
4. Standalone re-verifier and executed checks
The complete 526-line executable source is erdos393_wave9b_verify.py. It contains the integer root routine, prime sieve, Legendre valuations, candidate construction, complete 0/1 model, literal witness checks, regression data, and isolated CBC cross-check. Its SHA-256 is:
8671e9f80449bfae4835fbefc643ffcdbd140b4e0c291f6a95f9e94497e7e81e
Core model construction (the complete runnable version is in the adjacent file):
for t in range(2, width + 2):
root, exact = floor_nth_root(factorial_n, t)
lo = max(1, root - width)
hi = root + width + (0 if exact else 1)
values = [q for q in range(lo, hi + 1) if factorial_n % q == 0]
vectors = [divisor_exponents(q, primes) for q in values]
model = cp_model.CpModel()
x = [model.new_bool_var(f"x_{i}") for i in range(len(values))]
model.add(sum(x) == t)
for j, exponent in enumerate(target):
model.add(sum(vectors[i][j] * x[i]
for i in range(len(values))) == exponent)
for i in range(len(values)):
for k in range(i + 1, len(values)):
if values[k] - values[i] > width:
model.add(x[i] + x[k] <= 1)
Environment used:
Python 3.12.3
OR-Tools 9.15.6755
python-mip 1.17.6 (optional CBC differential check)
Commands actually run successfully:
python3 -m py_compile runs/erdos393_wave9b_verify.py
python3 runs/erdos393_wave9b_verify.py --cross-check-cbc --summary-only
python3 runs/erdos393_wave9b_verify.py --regression --summary-only
(d) The first full command printed the CBC lower-bound cross-check and verified all 21 new values in 47.755 seconds (47.92 seconds wall time, 158,716 KiB maximum RSS).
(d) The regression command exactly reproduced the ten already-published OEIS values \(f(70),\ldots,f(79)\), then reverified all 21 new values: 31 exact values in 55.967 seconds (56.16 seconds wall time, 165,568 KiB maximum RSS).
5. What this does and does not settle
(d) This is a reproducible exact extension of the finite table, not a solution of the asymptotic question. CP-SAT and CBC report infeasibility but the script does not emit a DRAT-style independently checkable unsatisfiability certificate; all exact equalities above are therefore deliberately labeled computational-only.
(b) The fixed-\(m\) polynomial machinery proves that bounded \(f(n)\) is sparse, but it is not uniform in growing \(m\): there are \(2^{m-1}\) polynomials, their degrees grow, and the constants in the cited theorems depend on the polynomial. It therefore cannot imply an unconditional pointwise lower bound tending to infinity.
(c) The precise asymptotic obstruction identified by the 2025–2026 comments is the “high branch”: a hypothetical factorization substantially shorter than \(n-2\) appears to force two huge nearby selected factors \(x,y\) whose product has radical \(x^{o(1)}\). After division by \(\gcd(x,y)\), the equation \(x-y=d\) becomes a primitive triple with radical too small relative to its height. The available argument excludes this by \(abc\). An unconditional replacement for that nearby low-radical-pair exclusion is the exact missing lemma; present standard polynomial-factorial estimates do not provide it.
(d) Extending the finite table further is inexpensive near \(n=100\) (about 2–3 seconds per certified value in this run), but this observed cost is not a complexity guarantee. The 0/1 systems are NP-type and can become hard abruptly. A useful next computational target is \(101\leq n\leq200\); at the observed rate it would cost only several CPU-minutes, but a realistic safe budget allowing solver variance is 1–2 core-hours. Such a table still would not supply the missing uniform theorem.
PARTIAL: Exact exhaustive computation extends A388302 from n=79 through n=100 (in particular f(80)=76), with a complete geometric-mean reduction and standalone verifier; the uniform asymptotic problem remains open.