24 points. One missing distance.

The Sixty-Ninth
Distance

Erdős asked in 1946: among n distinct points in the plane, how many pairs can be exactly one unit apart? Write u(n) for the maximum.

Alexeev, Mixon and Parshall (2024) settled the exact values through 21 points. This project's preceding results are u(22) = 60 and u(23) = 64.

Read the AMP paper, then the project's results at twenty-two and at twenty-three.

Exact small values ask for a finite maximum at a fixed n; the asymptotic question asks how u(n) grows. Erdős's conjecture fell in May 2026. Sawin then made the exponent explicit: more than n^1.014 unit pairs for arbitrarily large n. The upper bound O(n^(4/3)) has stood since 1984.

The disproof and its human verification · Sawin's explicit lower bound · The longer context. This exact small case does not improve the asymptotic bounds.

The 68th distance is easy to show: it is here, in the amber lines. The 69th asks for a different kind of showing. Every possible arrangement is too much to draw, so the proof follows the graph that an arrangement would have to leave behind.

A small exact value. An arrangement you can disturb. A graph with nowhere to stand.

Loading the exact instruments…

The lower bound / in your hands

Hold 68. Try to add one.

A known 24-point configuration with 68 unit pairs, extracted from Engel et al.'s dataset. The lower bound was already known in Alexeev, Mixon and Parshall's paper.

Frozen coordinates · Engel et al. · AMP

Counted here, exactly

…unit pairs

Waiting for coordinates.

Drag an amber point. A line stays lit only if that pair is exactly a unit apart. Restore the arrangement whenever you want.

You can also focus a point and use the arrow keys. Shift takes a larger step.

Pixels are a picture. Integers decide.

Each point has four rational coordinates in a fixed basis. Squared distance is r + s√33. A pair counts exactly when r = 1 and s = 0. All 276 pairs are tested after every move.

w1 = 1/2 + i√3/2; w3 = 5/6 + i√11/6. A coordinate vector [a, b, c, d] means a + b·w1 + c·w3 + d·w1·w3.

Dragging rounds the first two basis coefficients to multiples of 1/120. This is a free choice for the instrument. The drawing uses decimal pixels; the decision uses exact integers.

This playground explores rational moves in the Moser basis. The upper-bound argument below allows arbitrary real coordinates. Its graph search is not confined to this lattice.

Ask about a pair

Open the list of counted pairs
Recomputed after each move: rational and irrational parts of squared distance
Inspect pairrs

The upper bound / a narrow door

What an extra line would leave behind

Our earlier value u(23) = 64 leaves only one edge count to exclude. Schade's deletion bound puts u(24) at most 69. If an arrangement had more edges, deleting edges would still leave a 69-edge unit-distance graph.

ceil(70 × 22 / 24) = 65 > 64

Each edge survives deleting every vertex except its two endpoints. Average the edge counts after deleting a vertex, then round up: some deletion has at least that many edges.

This is Schade's bound applied to the project's preceding value. Inspect that dependency.

The last candidate has a forced minimum degree

Deleting any vertex from a 69-edge candidate leaves at most 64 edges, so its degree is at least 5. Its average degree is 138/24 < 6; its minimum degree is therefore exactly 5.

The enumeration grows graphs along canonical deletions. Degree bounds specify which parent cells matter; hereditary obstructions discard graphs that no unit-distance drawing could contain. Geometric contradiction certificates discard more. A discarded graph needs a reason the checker accepts.

None of this follows from trying to squeeze another line into the picture above. The difficult claim is that the enumeration is complete and its pruning rules are sound.

The upper bound / the one that got through

The graph with 69 edges

The recorded enumeration kept 1 graph at the target, in slice 50. Its graph6 encoding decodes here to 24 vertices, 69 edges and 28 triangles.

Source: final accepted run record. The graph statistics below are decoded here.

Graph layout. These lengths are not unit distances.

Degrees: 6 vertices of degree 7, 6 of degree 6, 12 of degree 5.

The exact graph, independent of this layout

Find what cannot fit

Search all 398 minimal forbidden graphs on at most ten vertices, then all 2,833 on eleven vertices. Each hit gets an injective vertex map. Extra host edges are allowed.

The expected smaller-graph answer is none: the enumeration pruned every candidate containing one of those 398 graphs. Searching them again checks that pruning condition on the survivor.

The search runs in a worker. You can keep moving points and inspecting the certificate while it runs.

The search has not run yet.

The pruning condition has not been checked here yet.

Open the injective vertex map
Extra host edges do not invalidate a subgraph
Pattern vertexSurvivor vertex

The frozen full-catalogue search finds 0 smaller forbidden graphs and 12 eleven-vertex types in the survivor. Repeat the entire search below; these are types, not a count of every occurrence.

The smaller classification · The eleven-vertex classification · Frozen full-search maps.

The proof's own graph is itself a member of L11, at line 548 of the frozen list. The complete search finds it among its 12 hits. The record used here is a5561d906d5f885d; its graph has 11 vertices and 18 edges.

One accepted refutation record suffices to exclude the survivor. The live classification search places that particular graph among the hits; the proof does not need the completeness of the whole classification.

The proof's frozen map · The wider classification

The original search, before the complete classification

On 6 October, the search against the 268 refuted eleven-vertex graphs then known found 12 types. The blind check confirmed all 12 supplied containment maps and accepted their refutation records under the frozen checker. These are dated checks, distinct from today's complete classification search.

The original search log · The blind check · The supplied records, historical acceptance and hashes.

The contradiction / every coefficient available

It would have to be zero.
It is always positive.

14 identities. 27 variables. 26 original equations. 4 positively weighted squares.

The record is a real-dag certificate: a list of rational polynomial identities. A unit edge supplies a squared-distance equation. Multiply those equations by the record's polynomial cofactors and add them. Each derived row must vanish wherever the original equations vanish.

A frame, not a guessed drawing

Place pattern vertex 10 at (0, 0) and vertex 1 at (1, 0). Their connecting edge is a unit edge, so a rigid motion permits this frame without restricting the other coordinates.

Every other x and y stays a real variable. Reflections are allowed. There is no assumption of integer coordinates, no tolerance and no optimization getting stuck.

Distinct means distinct

The record uses 9 selected pairs of distinct vertices. For each pair it adds t·distance² − 1 = 0. Distinct points have nonzero squared distance, so such a real t exists. These equations forbid collapsing the vertices together.

These are necessary conditions on any putative embedding. A contradiction under necessary conditions suffices. The selected pairs and frame are visible free choices of the certificate, not undisclosed geometric assumptions.

The same graph layout. Bright edges supply the selected identity.

Vertex labels belong to the survivor. Constraint buttons use the smaller pattern's labels; the frozen map connects them. Saturation pairs are distinctness constraints, not extra unit edges.

Waiting for exact replay.

Inspect this row's rational cofactors

The last polynomial must be zero because it is a combination of equations that are zero. Its constant is 1, and its 4 square weights are positive. It is at least 1 for all real coordinates. That is the contradiction.

Try making the check fail

Alter the constant term in a copy of the first derived identity. The exact source combination no longer equals that row. The checker must reject the copy before it reaches the final contradiction.

The original certificate is loaded.

What is being checked here

The browser regenerates all original equations from the graph, verifies each identity using exact rational arithmetic, allows references only to earlier rows, and checks the final square expansion and the signs of its weights. The standalone verifier also replays the certificate with a separate polynomial implementation.

The complete certificate · Browser checker

The production run / what completeness rests on

1,920 slices. A record with seams.

1,920 accepted slices, covering the entire index range. Every slice was checked before its working files were deleted. This is the production run's retained record, not an enumeration running on this page.

The standard called for one production run: check each slice before deletion, then reproduce a sample. Slice receipts record checker acceptance, canonical augmentation cross-checks and hashes. A fleet-wide audit checks the union and the shared prefix. Retained records let this page add counts and inspect coverage; they cannot conjure the deleted intermediate files back into existence.

The fleet audit records 1,923 accepted copies for 1,920 different slices. Duplicate copies do not multiply the enumeration. The common prefix had 70 hashed files; the sliced shares sum to the common stage.

Source: the final plan judgements and fleet audit, extracted together. The nested summary-only audit status is a historical coverage check, not a fresh certificate replay.

The slice shards load when requested.

A positive control

Would it find graphs we know are real?

97,912 eligible configurations were found unpruned, each in its predicted slice. Those are eligible canonical graphs from the Engel catalogue, not a claim about every configuration in the original dataset.

The eligibility test applies the same reach table and minimum-degree conditions used by the enumeration. A canonical ancestor determines the slice. Finding the graph in both the unpruned and kept files checks that a true example survived every filter.

Source: accepted per-slice known-graph receipts. Choose a concrete example below.

A fresh control

Would a new machine say the same?

50 slices were reproduced on fresh machines with identical retained results: 48 selected with the saved random seed and 2 heavy slices. This is sample reproduction, not a fresh reproduction of every slice.

The recorded reproduction selection

All 21 slices with an accepted resumed copy have an identical from-scratch twin. The explicit comparison files cover 20; the remaining slice is covered by the reproduction sample.

Accepted resumed slices with fresh twins

Source: reproduction duplicate-copy agreement and the saved from-scratch comparisons in the audit extract.

A control you can open

Recorded canonical deletion chain. Each minimum degree meets its reach threshold.
VerticesEdgesMin. degreeRequired
Exact lattice coordinates

Coordinates, ancestor chains and receipt indices

A failure belongs in the record

The run that lost work

Slice 247 lost work during an early resume. Its fresh run disagreed with the retired copy's counts. That failure prompted fresh twins for every accepted resumed slice. The old copy is excluded from the final coverage.

The from-scratch twin was not reassurance appended after the fact. It caught a real disagreement. A count agreement on resumed work alone would have missed it.

The audit also needed checking

The coordinator review closed before the result was called complete. It found gaps in historical count accounting and manifest binding. Its final verification sampled 30 bound fields; sampling is not exhaustive, and deleted intermediate certificates cannot be measured again.

These are retained historical claims. This page can challenge a count, a supplied graph map or a polynomial identity. It cannot independently certify that every deletion happened only after the prescribed checks.

The check

What the page knows.
What the record says.

Coordinates
Waiting for exact pair checks.
Containment
Contradiction
Waiting for polynomial replay.
Run coverage
Waiting for the retained record.
Negative controls
Waiting for deliberate failures.

Free choices you can see

The draggable picture uses a selected known configuration and a rational step size. The survivor uses concentric rings chosen for legibility. The certificate chooses a unit edge as its frame and selected distinctness pairs. Slice assignment uses the recorded hash rule; the reproduction sample uses a saved seed and selected heavy slices. None of these pictures or selections is a numerical fit offered as a proof.

The limits that remain

The result u(24) = 68 is computer-assisted and has not yet been refereed outside the project. It rests on our u(23) = 64 and u(22) = 60, AMP's smaller values, the forbidden-graph filters, the geometric lemmas and nauty's canonical labelling. The independent check programs are still ours.

The dependencies include the hereditary forbidden-graph catalogue, the supplied TU gadgets and geometric lemmas R and T. Different checkers share the canonical-labelling library, so agreement is not independence from that library. The survivor's blind containment search used a separate decoder and search, then the same frozen certificate checker.

This settles a small case conditional on those checks and dependencies. It does not advance the asymptotic unit-distance problem or promise the next value.

An arrangement with 68 unit pairs exists. The only unresolved 69-edge candidate contains a graph whose equations cannot hold for distinct points. Subject to the enumeration and its dependencies, u(24) = 68.

u(24) = 68

The claims record 199 claims re-read against their sources, 8 October 2026

Written 2026-10-08. Claims re-read against their sources on 2026-10-08: 199 checked, 194 confirmed, 5 wrong, 0 unverifiable. By the assay line (research/assay-line/unit-distance-1009/), Codex fixer directed by claude-answering-alexeev-u22 (the unit-distance wave supervisor, who decided every finding after re-reading each WRONG source); source record by Codex (gpt-6.1-sol), checked by Codex.

This directed pass re-read the evidence for X1-X5, fixed two WRONG findings and three source-record MINOR findings, and carries forward the 194 CONFIRMED claim lines re-read by Codex N2 at 5a634e5551. Those confirmations come from the checker record; this fixer did not repeat its entire audit. The wrong count includes the three MINOR findings, each recorded with its own disposition.

This record is long (199 claim lines and 5 findings), so it is not part of the page until you open it. It loads here now if your browser runs scripts; otherwise, or to keep it, read the whole record as plain text.

The assay office: what a record is, and every layer re-read so far.