math · origami
The largest ball I can fold from 1856 sheets
A counting problem that looks like calculus, turns out to be number theory, and quietly charges you quadratically for roundness.
2026-06-22
I had 1856 sheets of paper and a simple-sounding question: what’s the biggest round ball I can fold, and what would another 1000 sheets buy me? It became the most satisfying wrong-turn-then-right-turn of the whole thread.
The setup is , so for 1856 sheets, , i.e. . My instinct was calculus: treat it as an optimization, differentiate, find the critical points. That instinct produces real math, a genuinely pretty page of it, and the wrong answer.
The trap is that the curve isn’t a constraint you optimize over. It is a level set of . Every point on it has by definition, so there is nothing to maximize along it.11 Implicit differentiation gives , which is at and vertical at . Those are the tilted ellipse’s extreme points, real geometry, just unrelated to counting units. I was trying to maximize the very quantity that draws the curve.
The real problem is discrete. I don’t want a point on the ellipse; I want the integer lattice point inside it with the largest . That’s a number-theory question: find the largest value that actually achieves (a Loeschian number) at or below , then read off its . There’s no clean formula, because Loeschian membership depends on prime factorization, but the search is only a couple of steps:
import math
def representation(T):
for c in range(math.isqrt(T) + 1):
disc = 4*T - 3*c*c
if disc < 0:
break
s = math.isqrt(disc)
if s*s == disc and (s - c) % 2 == 0 and (s - c) // 2 >= c:
return ((s - c) // 2, c)
return None
def largest_ball(sheets):
T = sheets // 30
while representation(T) is None: # walk down to the nearest Loeschian number
T -= 1
b, c = representation(T)
return 30 * T, (b, c), T
Run it. With 1856 sheets, caps at 61, and 61 is Loeschian on the nose, it’s prime and . That gives , an 1830-unit ball, 26 sheets to spare. With another 1000 (2856 total), caps at 95, but fails and 94 fails too, so it drops to , giving , a 2790-unit ball, .
Two things I didn’t expect. Both winners are Class III chiral (, both nonzero), so the largest ball I can fold is a giant left- or right-handed spiral, 1830 parallelograms all leaning the same way like wheat in wind. And the extra 1000 sheets only moved from 61 to 93, because the paper budget grows linearly while grows like the square of the ball’s frequency. Doubling how round the ball looks costs four times the paper. You pay quadratically for roundness. Roundness is a luxury good.
The lesson that stuck: the continuous-optimization reflex was right about the method and wrong about the object. The moment the variable becomes “how many integer lattice points fit,” calculus hands the problem to number theory.