To multiply two enormous integers, treat their digits as a signal: the product’s digits are the convolution of the two digit lists, and a Fast Fourier Transform computes a convolution in O(n log n) instead of O(n²). Their trick was to run the FFT over integers mod a Fermat number (an exact-arithmetic transform, no round-off), giving O(n log n log log n) — the champion from 1971 to 2007.
Write each number as digit-coefficients of powers of the base. The product’s coefficients are the convolution cₖ = Σ aᵢbⱼ over i+j=k; then propagate carries. Schoolbook does that convolution in O(n²); an FFT/NTT does it in O(n log n). Multiply two numbers and watch the convolution and carry. live demo
“Schönhage-Strassen invented fast multiplication” — no; that is theirs Karatsuba’s (1962). They made it near-linear. cited
Superseded in theory (galactic algorithms), still the practical method for enormous integers (GMP uses it). Schönhage & Strassen, 1971
The digit convolution and carry run on the bignum today — the worked example lands exactly: