Erdos-Straus Conjecture: GPU Solution Counting
The Conjecture
For every integer , the equation
has a solution in positive integers . This has been verified computationally for all (Swett 1999, Elsholtz-Tao 2013 framework) but remains unproven.
What This Experiment Does
Rather than just verifying the conjecture (which is known to hold to enormous bounds), we count the number of solutions for each prime . Composites always have solutions inherited from their factors, so primes are the hard cases.
The solution count and its distribution contain structural information:
- Barely-solvable primes (): How rare are these? Do they thin out?
- Growth rate: Does mean grow logarithmically, polynomially?
- Residue class structure: How does depend on , ?
Method
For each prime , the kernel enumerates all ordered triples with satisfying :
- For in :
- Compute remainder:
- For in :
- Check if is a positive integer with
Each GPU thread handles one prime independently. Primes are sieved on CPU (Eratosthenes), then the full array is uploaded to GPU for parallel processing.
Reproduce
nvcc -O3 -arch=sm_90 -o erdos_straus scripts/experiments/erdos-straus/erdos_straus.cu -lm
./erdos_straus 100 # all primes to 10^8
References
- Erdos, P. (1950). “On a Diophantine equation.” Mat. Lapok, 1, pp. 192-210.
- Elsholtz, C. and Tao, T. (2013). “Counting the number of solutions to the Erdos-Straus equation on unit fractions.” Journal of the Australian Mathematical Society, 94(1), pp. 59-105.
- Swett, A. (1999). “Proof that 4/n = 1/x + 1/y + 1/z for n up to 10^14.”
Human-AI collaboration (Cahlen Humphreys + Claude). All code and data open.