Update on Algorithms for Carmichael numbers
Andrew Shallue, Jonathan Webster
TL;DR
The paper addresses the problem of efficiently tabulating Carmichael numbers up to a bound $B$ and deciding whether a given $n$ is Carmichael in polynomial time under plausible conjectures. It advances from Pinch’s classical tabulation to a hybrid approach that separates small preproducts from larger completions using a $\lambda(P)$-sieve, enabling the authors to report $308{,}279{,}939$ Carmichael numbers below $10^{24}$. A key contribution is a Miller-Rabin–inspired, factorization-enabled method to decide Carmichael status in polynomial time conditioned on the ERH, and a heuristic, optimally-realizable algorithm achieving $O\big(B\cdot L(B)^{-1+o(1)}\big)$ time under a conjectured asymptotic count $C(B)$. The work also offers a structured partitioning of preproducts, a sieving framework to control prime divisors, and a unifying view that combines multiple algorithmic themes to push practical tabulation toward theoretical optimality. Together, these results impact both the computational number theory of Carmichael numbers and the design of large-scale tabulation tools.
Abstract
In this note, we present progress on determining the computational complexity of tabulating all Carmichael numbers less than some bound $B$. We show that the query ``Is $n$ a Carmichael number?'' may be answered in polynomial time. We implemented a new tabulation algorithm which we describe here and found $308,279,939$ Carmichael numbers less than $10^{24}$. In lieu of providing an asymptotic analysis of that algorithm, we show a second related algorithm that we claim is optimal under a believable conjecture.
