This problem is frozen

Mathematically equivalent to P02 (equal circles in a disc): the packing radius r and minimum point separation d are related by the strictly monotone bijection d = 2r/(1 − r), so any solution to one converts directly into a solution to the other. The catalogue retains P02, the standard formulation in the literature.

Closed to new records since 2026-08-28. Existing records remain in the history and on their holders' profiles, and this URL stays active; since records can no longer change hands, they no longer count toward contribution points as of 2026-10-04.

P07 · Extremal configurations · Classic

Spreading points in a circle · n = 19

Place n points inside a circle of radius 1 to maximize the minimum Euclidean distance between any two points.

Instancen = 19
ObjectiveMaximize the smallest distance between two points

Record comparison

the smallest distance between two points · Higher is better
RecordValue / intervalAuthor / holderSource
Proven optimum(√6 − √2)/2See source attributionweb.archive.org ↗
Site recordNo player record yet——

FinishedA construction reaching the theoretical ceiling is already published, leaving nothing further to improve

Formal definition

  • ContainerA circle of radius 1 centered at (1, 1), with both coordinates in [0, 2]
  • SubmissionExactly n distinct points
  • ConstraintsEvery point lies inside the circle or on its boundary
  • Scoreδ(P) is the minimum Euclidean distance over all point pairs (the verifier compares δ(P)² using exact arithmetic internally)δ(P)=min1≤i<j≤n‖pi−pj‖
  • ObjectiveMaximize the minimum pairwise distance δ(P)
Inspect in editor ↗

Layout shown: starter layout

2y0
0x2
VERIFIED CONSTRUCTIONthe closest pair

Getting a feel for it

Duality with equal-circle packing

Placing points in a unit disk with minimum pairwise distance d is equivalent to packing non-overlapping circles of radius d/2 inside a concentric disk of radius 1 + d/2 (or radius r = d / (2 + d) after rescaling to the unit disk). At optimality, pairs at distance d form a rigid contact graph, with many points lying on the boundary.

Proven optima and open frontier

Through the exact scaling between point spreading in a disk and equal-circle packing in a disk (cci), proofs and best-known constructions from the cci literature transfer directly. Optimality is proven here for n = 4, while the remaining sizes follow the open cci frontier.

Source
The current arrangement for Spreading points in a circle n = 19
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

The optimum is proven; no further improvement is possibleSubmit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
ANSWER FORMAT

How to write your answer

The container is a circle of radius 1 centred at (1, 1), so coordinates run from 0 to 2. Coordinates are written as plain decimals such as "1.5", to at most nine decimal places.

Submit the point coordinates in points, with each coordinate formatted as a decimal string such as "1.5".

Starter answer

{
  "points": [
    [
      "1.956523028",
      "1.291656813"
    ],
    [
      "1.682544835",
      "1.730843723"
    ],
    [
      "1.225679305",
      "1.974201648"
    ],
    [
      "0.708343187",
      "1.956523028"
    ],
    [
      "0.269156277",
      "1.682544835"
    ],
    [
      "0.025798352",
      "1.225679305"
    ],
    [
      "0.043476972",
      "0.708343187"
    ],
    [
      "0.317455165",
      "0.269156277"
    ],
    [
      "0.774320695",
      "0.025798352"
    ],
    [
      "1.291656813",
      "0.043476972"
    ],
    [
      "1.730843723",
      "0.317455165"
    ],
    [
      "1.974201648",
      "0.774320695"
    ],
    [
      "1.439186910",
      "1.273978193"
    ],
    [
      "0.982321380",
      "1.517336118"
    ],
    [
      "0.543134470",
      "1.243357925"
    ],
    [
      "0.560813090",
      "0.726021807"
    ],
    [
      "1.017678620",
      "0.482663882"
    ],
    [
      "1.456865530",
      "0.756642075"
    ],
    [
      "1.000000000",
      "1.000000000"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 19
}

Starter answer

{
  "points": [
    [
      "1.956523028",
      "1.291656813"
    ],
    [
      "1.682544835",
      "1.730843723"
    ],
    [
      "1.225679305",
      "1.974201648"
    ],
    [
      "0.708343187",
      "1.956523028"
    ],
    [
      "0.269156277",
      "1.682544835"
    ],
    [
      "0.025798352",
      "1.225679305"
    ],
    [
      "0.043476972",
      "0.708343187"
    ],
    [
      "0.317455165",
      "0.269156277"
    ],
    [
      "0.774320695",
      "0.025798352"
    ],
    [
      "1.291656813",
      "0.043476972"
    ],
    [
      "1.730843723",
      "0.317455165"
    ],
    [
      "1.974201648",
      "0.774320695"
    ],
    [
      "1.439186910",
      "1.273978193"
    ],
    [
      "0.982321380",
      "1.517336118"
    ],
    [
      "0.543134470",
      "1.243357925"
    ],
    [
      "0.560813090",
      "0.726021807"
    ],
    [
      "1.017678620",
      "0.482663882"
    ],
    [
      "1.456865530",
      "0.756642075"
    ],
    [
      "1.000000000",
      "1.000000000"
    ]
  ]
}

Submit the point coordinates in points, with each coordinate formatted as a decimal string such as "1.5". · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.

No threads yet. Start the first discussion.