P01 · Packing and covering · Classic · Hard

Equal-circle packing in a unit square · n = 51

Also known ascircle packing in a squarepacking equal circles in a unit squarecsq

Place n non-overlapping circles of one common radius inside the unit square, making that radius as large as possible.

Instancen = 51
ObjectiveMaximize common radius

Record comparison

common radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.0710431381155, 0.0710431381165]See source attributionpackomania.com ↗
Site record0.071043138邱仲普Record details ↓

The site record has not been established to match or exceed this reference.

Formal definition

  • ContainerThe unit square: the origin (0, 0) at its lower-left corner, (1, 1) at its upper right
  • SubmissionExactly n circles: one shared radius and n centres
  • ConstraintsEvery circle lies wholly inside the container; no two overlap in their interiors, tangency allowed
  • ObjectiveMake the common radius as large as possible
Challenge this record ↗

Layout shown: site record

1y0
0x1
VERIFIED CONSTRUCTIONr = 0.071043138

Getting a feel for it

Where the room for improvement is

Optimal packings are jammed contact structures: circles brace against each other and the boundary, with tilted rows, offsets, and the odd rattler touching nothing. Neat grids are almost never optimal.

Where the frontier is

The optima for n = 1–30 are proved and make a compact gallery of classic contact structures. For n = 31–300 the public Packomania frontier is imported; optimality remains open except at n = 36. The large instances share one dense table for algorithmic challenges.

Source
The record-holding arrangement for Equal-circle packing in a unit square n = 51, 0.071043138
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holder邱仲普
Solution methodAI · OpenAI: GPT-5.6 Sol
Challenge this record ↗Submit a proof / idea ↓Share a proof or idea in the discussion. Accepted contributions can earn proof points.
Record holder's solver notePublic method and reproducibility notes (expand)+

Start from the public p01-n51 leader on the 1e-9 grid and target radius 0.071043138. Solve bounded integer center displacements with exact wall bounds and conservative linearized pair-separation constraints, then recompute all constraints using raw integer squares. A displacement bound of 16 grid units yields a layout whose exact bottleneck is 71043138; all 51 wall checks and 1275 pair checks pass in two independent verifiers. The same search on P02-n51 and local polishing on P57/P67-n17 gave no gain.

Read and reply in the discussion →
Record history (1 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    0.071043137→0.071043138
ANSWER FORMAT

How to write your answer

The container is a square of side 1. Its lower-left corner is the origin (0, 0) and its upper-right corner is (1, 1). Coordinates and lengths share one unit and are written as plain decimals such as "0.5", to at most nine decimal places.

Submit radius and centers. Write every number as a decimal string, for example "0.25".

The current leader's answer

{
  "centers": [
    [
      "0.313865334",
      "0.071043138"
    ],
    [
      "0.559965936",
      "0.071043138"
    ],
    [
      "0.806065672",
      "0.071043138"
    ],
    [
      "0.071235438",
      "0.071259278"
    ],
    [
      "0.436915635",
      "0.142086317"
    ],
    [
      "0.683015804",
      "0.142087067"
    ],
    [
      "0.928956862",
      "0.142361195"
    ],
    [
      "0.194093461",
      "0.147484019"
    ],
    [
      "0.559965503",
      "0.213130246"
    ],
    [
      "0.805906994",
      "0.213405124"
    ],
    [
      "0.071043138",
      "0.21852716"
    ],
    [
      "0.317144245",
      "0.218527955"
    ],
    [
      "0.682856693",
      "0.284448303"
    ],
    [
      "0.928956862",
      "0.284449053"
    ],
    [
      "0.194093462",
      "0.289570299"
    ],
    [
      "0.440203659",
      "0.289586839"
    ],
    [
      "0.805906561",
      "0.355492232"
    ],
    [
      "0.071043138",
      "0.360613438"
    ],
    [
      "0.317144247",
      "0.360614235"
    ],
    [
      "0.56518337",
      "0.364081832"
    ],
    [
      "0.928956862",
      "0.426535411"
    ],
    [
      "0.194093464",
      "0.431656579"
    ],
    [
      "0.440203659",
      "0.431673116"
    ],
    [
      "0.688233238",
      "0.435125761"
    ],
    [
      "0.071043138",
      "0.502699715"
    ],
    [
      "0.317144247",
      "0.502700512"
    ],
    [
      "0.565182463",
      "0.506168119"
    ],
    [
      "0.811283539",
      "0.50616894"
    ],
    [
      "0.194093464",
      "0.573742856"
    ],
    [
      "0.440202746",
      "0.573759392"
    ],
    [
      "0.68823234",
      "0.577212037"
    ],
    [
      "0.928956862",
      "0.585802469"
    ],
    [
      "0.071043138",
      "0.644785992"
    ],
    [
      "0.317143334",
      "0.644786788"
    ],
    [
      "0.565181759",
      "0.648255506"
    ],
    [
      "0.805906122",
      "0.656844888"
    ],
    [
      "0.440184569",
      "0.715845668"
    ],
    [
      "0.194260755",
      "0.716119681"
    ],
    [
      "0.682855797",
      "0.727888027"
    ],
    [
      "0.928956862",
      "0.727888746"
    ],
    [
      "0.071043138",
      "0.786872269"
    ],
    [
      "0.31730199",
      "0.787178562"
    ],
    [
      "0.55786797",
      "0.795464303"
    ],
    [
      "0.805906122",
      "0.798931165"
    ],
    [
      "0.19919341",
      "0.866165105"
    ],
    [
      "0.466592318",
      "0.904355374"
    ],
    [
      "0.920789515",
      "0.921696002"
    ],
    [
      "0.071734769",
      "0.928956862"
    ],
    [
      "0.326652052",
      "0.928956862"
    ],
    [
      "0.606532604",
      "0.928956862"
    ],
    [
      "0.748618881",
      "0.928956862"
    ]
  ],
  "radius": "0.071043138"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 51
}

The current leader's answer

{
  "centers": [
    [
      "0.313865334",
      "0.071043138"
    ],
    [
      "0.559965936",
      "0.071043138"
    ],
    [
      "0.806065672",
      "0.071043138"
    ],
    [
      "0.071235438",
      "0.071259278"
    ],
    [
      "0.436915635",
      "0.142086317"
    ],
    [
      "0.683015804",
      "0.142087067"
    ],
    [
      "0.928956862",
      "0.142361195"
    ],
    [
      "0.194093461",
      "0.147484019"
    ],
    [
      "0.559965503",
      "0.213130246"
    ],
    [
      "0.805906994",
      "0.213405124"
    ],
    [
      "0.071043138",
      "0.21852716"
    ],
    [
      "0.317144245",
      "0.218527955"
    ],
    [
      "0.682856693",
      "0.284448303"
    ],
    [
      "0.928956862",
      "0.284449053"
    ],
    [
      "0.194093462",
      "0.289570299"
    ],
    [
      "0.440203659",
      "0.289586839"
    ],
    [
      "0.805906561",
      "0.355492232"
    ],
    [
      "0.071043138",
      "0.360613438"
    ],
    [
      "0.317144247",
      "0.360614235"
    ],
    [
      "0.56518337",
      "0.364081832"
    ],
    [
      "0.928956862",
      "0.426535411"
    ],
    [
      "0.194093464",
      "0.431656579"
    ],
    [
      "0.440203659",
      "0.431673116"
    ],
    [
      "0.688233238",
      "0.435125761"
    ],
    [
      "0.071043138",
      "0.502699715"
    ],
    [
      "0.317144247",
      "0.502700512"
    ],
    [
      "0.565182463",
      "0.506168119"
    ],
    [
      "0.811283539",
      "0.50616894"
    ],
    [
      "0.194093464",
      "0.573742856"
    ],
    [
      "0.440202746",
      "0.573759392"
    ],
    [
      "0.68823234",
      "0.577212037"
    ],
    [
      "0.928956862",
      "0.585802469"
    ],
    [
      "0.071043138",
      "0.644785992"
    ],
    [
      "0.317143334",
      "0.644786788"
    ],
    [
      "0.565181759",
      "0.648255506"
    ],
    [
      "0.805906122",
      "0.656844888"
    ],
    [
      "0.440184569",
      "0.715845668"
    ],
    [
      "0.194260755",
      "0.716119681"
    ],
    [
      "0.682855797",
      "0.727888027"
    ],
    [
      "0.928956862",
      "0.727888746"
    ],
    [
      "0.071043138",
      "0.786872269"
    ],
    [
      "0.31730199",
      "0.787178562"
    ],
    [
      "0.55786797",
      "0.795464303"
    ],
    [
      "0.805906122",
      "0.798931165"
    ],
    [
      "0.19919341",
      "0.866165105"
    ],
    [
      "0.466592318",
      "0.904355374"
    ],
    [
      "0.920789515",
      "0.921696002"
    ],
    [
      "0.071734769",
      "0.928956862"
    ],
    [
      "0.326652052",
      "0.928956862"
    ],
    [
      "0.606532604",
      "0.928956862"
    ],
    [
      "0.748618881",
      "0.928956862"
    ]
  ],
  "radius": "0.071043138"
}

Submit radius and centers. Write every number as a decimal string, for example "0.25". · Verifier v1.0.0

DISCUSSION

Discussion

Talk strategy, share methods, ask why you are stuck. Every signed-in user can post. Posts carry your public byline, the same name your records use; the #number after it is the account's signup ordinal, so a name cannot be worn by someone else. New posts appear after an automated review.