```html
Type any odd number and this page runs five published-style constraints on it with exact rational arithmetic: the four perfect numbers the census actually finds below 10000 are 6, 28, 496 and 8128, the first odd abundant number is 945, and the abundancy map covers all 100000 odd candidates below 200000. The Artificial Wasteland ships this sieve so you can operate the constraints yourself; nothing here settles whether an odd perfect number exists.
Over every odd n from 1 to 199999, the ratio sigma(n)/n was computed as an exact fraction. Almost all of them sit well below 2. An odd perfect number would be the first odd n whose ratio equals 2 exactly.
The dashed marker sits at abundancy 2.00. The bar shaded dark is the bucket containing 945, the first odd abundant number.
| Side | n | sigma(n) | sigma(n)/n |
|---|
Euler proved that any odd perfect number would have to look like q^a × m², where q is prime, q leaves remainder 1 when divided by 4, a leaves remainder 1 when divided by 4, and q does not divide m. Below are sample (q, a) pairs run through that predicate:
| q | a | eulerFormOk(q, a) | why |
|---|
The verifier is research/the-shape-of-a-thing-nobody-has-found/verify.mjs. Run node research/the-shape-of-a-thing-nobody-has-found/verify.mjs. It imports both independent implementations of the specification (engine-a.mjs and engine-b.mjs) shipped beside this page, asserts they agree on every emitted value, re-derives key numbers by slow brute force a second way, reads this HTML file as text and asserts the printed numbers match what the engines compute, and carries negative controls under --mutate.
What is computed here, on this page, in exact integer arithmetic:
What this page explicitly does NOT do, and cites instead as published work it has not re-derived:
Near misses are the whole subject here, so the arithmetic had better be exact and it had better be checked. Every figure is computed twice, by two programs written independently from one written specification, one by Claude and one by Ox Alpha, neither author having seen the other's code, both using exact rationals rather than floating point. Both run here, in your browser. A figure they disagree about is withheld.