P84 · Packing and covering · Classic · Hard

Equilateral triangles in a disc · n = 40

Pack n unit-side equilateral triangles into a disc. Contact is allowed; interiors cannot overlap. Minimise the container circle radius.

Instancen = 40
ObjectiveMinimize container circle radius

Record comparison

container circle radius · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[2.55674, 2.55675)Yanis Gomes2026-10Erich Friedman ↗
Site recordNo player record yet——

Formal definition

  • ContainerThe editor and certificate normalise the container to the closed unit disc centred at (1,1), while public scores are reported in the literature's unit-piece scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent pieces lie wholly inside the container with pairwise disjoint interiors. Polygons may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals and regular-polygon vertices are defined algebraically, with zero floating-point tolerance in feasibility checks.
  • ObjectiveContainer circle radius = 1/(2 sin(π/3) r), where smaller is better. Pages, leaderboards, and literature records share this unit with automatic conversion.
Open full editor ↗

Layout shown: starter layout

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values.

Source
The current arrangement for Equilateral triangles in a disc n = 40
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

Challenge this record ↗Submit 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 closed unit disc centred at (1,1)

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

Starter answer

{
  "placements": [
    {
      "turn": "0.002105389",
      "x": "0.984974908",
      "y": "1.796592872"
    },
    {
      "turn": "-0.574546492",
      "x": "0.759162783",
      "y": "1.795642023"
    },
    {
      "turn": "0.002022616",
      "x": "1.323755526",
      "y": "1.782586425"
    },
    {
      "turn": "0.002154826",
      "x": "0.647041117",
      "y": "1.599607618"
    },
    {
      "turn": "-0.545690442",
      "x": "0.412790876",
      "y": "1.593462975"
    },
    {
      "turn": "-0.574546492",
      "x": "1.040980457",
      "y": "1.567857433"
    },
    {
      "turn": "0.002022616",
      "x": "1.605575844",
      "y": "1.554778703"
    },
    {
      "turn": "-0.574656593",
      "x": "1.379763565",
      "y": "1.553865236"
    },
    {
      "turn": "0.002022859",
      "x": "0.928833127",
      "y": "1.371822805"
    },
    {
      "turn": "-0.574655093",
      "x": "0.703020901",
      "y": "1.370810454"
    },
    {
      "turn": "-0.122842521",
      "x": "0.249456382",
      "y": "1.365522784"
    },
    {
      "turn": "-0.574656593",
      "x": "1.719273070",
      "y": "1.359676266"
    },
    {
      "turn": "0.002022616",
      "x": "1.311526821",
      "y": "1.332752291"
    },
    {
      "turn": "-0.574656593",
      "x": "1.086238996",
      "y": "1.202191786"
    },
    {
      "turn": "-0.016121894",
      "x": "0.577137352",
      "y": "1.174907188"
    },
    {
      "turn": "0.424407431",
      "x": "0.311674402",
      "y": "1.148449207"
    },
    {
      "turn": "0.002022616",
      "x": "1.651036326",
      "y": "1.138563321"
    },
    {
      "turn": "-0.574656593",
      "x": "1.425224046",
      "y": "1.137649854"
    },
    {
      "turn": "0.001728067",
      "x": "0.974124519",
      "y": "1.006042858"
    },
    {
      "turn": "0.579656660",
      "x": "0.748311741",
      "y": "1.005262416"
    },
    {
      "turn": "-0.574656593",
      "x": "1.867777421",
      "y": "1.003510376"
    },
    {
      "turn": "0.002022616",
      "x": "1.313108992",
      "y": "0.941633950"
    },
    {
      "turn": "0.001728463",
      "x": "0.148079511",
      "y": "0.930595138"
    },
    {
      "turn": "0.579656660",
      "x": "0.404960623",
      "y": "0.818821022"
    },
    {
      "turn": "0.001728067",
      "x": "0.630798504",
      "y": "0.812338283"
    },
    {
      "turn": "0.579656660",
      "x": "1.087706791",
      "y": "0.810873476"
    },
    {
      "turn": "0.002022616",
      "x": "1.755662367",
      "y": "0.807494472"
    },
    {
      "turn": "-0.574656593",
      "x": "1.529850088",
      "y": "0.806581005"
    },
    {
      "turn": "0.001728067",
      "x": "0.292730116",
      "y": "0.622871199"
    },
    {
      "turn": "-0.575048476",
      "x": "0.744380776",
      "y": "0.617168901"
    },
    {
      "turn": "0.001728067",
      "x": "0.970193554",
      "y": "0.617949343"
    },
    {
      "turn": "-0.099384886",
      "x": "1.342319717",
      "y": "0.571939120"
    },
    {
      "turn": "0.213986879",
      "x": "1.703445441",
      "y": "0.491851904"
    },
    {
      "turn": "-0.575048476",
      "x": "0.406312388",
      "y": "0.427701817"
    },
    {
      "turn": "0.001728067",
      "x": "0.632150269",
      "y": "0.421219078"
    },
    {
      "turn": "-0.575048476",
      "x": "1.055437044",
      "y": "0.406287706"
    },
    {
      "turn": "0.452028062",
      "x": "1.414526773",
      "y": "0.357980804"
    },
    {
      "turn": "-0.575048476",
      "x": "0.717393759",
      "y": "0.209557441"
    },
    {
      "turn": "0.001728067",
      "x": "0.943206537",
      "y": "0.210337883"
    },
    {
      "turn": "-0.099384886",
      "x": "1.277485586",
      "y": "0.177776353"
    }
  ],
  "radius": "0.225814126"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 40,
  "sides": 5
}

Starter answer

{
  "placements": [
    {
      "turn": "0.002105389",
      "x": "0.984974908",
      "y": "1.796592872"
    },
    {
      "turn": "-0.574546492",
      "x": "0.759162783",
      "y": "1.795642023"
    },
    {
      "turn": "0.002022616",
      "x": "1.323755526",
      "y": "1.782586425"
    },
    {
      "turn": "0.002154826",
      "x": "0.647041117",
      "y": "1.599607618"
    },
    {
      "turn": "-0.545690442",
      "x": "0.412790876",
      "y": "1.593462975"
    },
    {
      "turn": "-0.574546492",
      "x": "1.040980457",
      "y": "1.567857433"
    },
    {
      "turn": "0.002022616",
      "x": "1.605575844",
      "y": "1.554778703"
    },
    {
      "turn": "-0.574656593",
      "x": "1.379763565",
      "y": "1.553865236"
    },
    {
      "turn": "0.002022859",
      "x": "0.928833127",
      "y": "1.371822805"
    },
    {
      "turn": "-0.574655093",
      "x": "0.703020901",
      "y": "1.370810454"
    },
    {
      "turn": "-0.122842521",
      "x": "0.249456382",
      "y": "1.365522784"
    },
    {
      "turn": "-0.574656593",
      "x": "1.719273070",
      "y": "1.359676266"
    },
    {
      "turn": "0.002022616",
      "x": "1.311526821",
      "y": "1.332752291"
    },
    {
      "turn": "-0.574656593",
      "x": "1.086238996",
      "y": "1.202191786"
    },
    {
      "turn": "-0.016121894",
      "x": "0.577137352",
      "y": "1.174907188"
    },
    {
      "turn": "0.424407431",
      "x": "0.311674402",
      "y": "1.148449207"
    },
    {
      "turn": "0.002022616",
      "x": "1.651036326",
      "y": "1.138563321"
    },
    {
      "turn": "-0.574656593",
      "x": "1.425224046",
      "y": "1.137649854"
    },
    {
      "turn": "0.001728067",
      "x": "0.974124519",
      "y": "1.006042858"
    },
    {
      "turn": "0.579656660",
      "x": "0.748311741",
      "y": "1.005262416"
    },
    {
      "turn": "-0.574656593",
      "x": "1.867777421",
      "y": "1.003510376"
    },
    {
      "turn": "0.002022616",
      "x": "1.313108992",
      "y": "0.941633950"
    },
    {
      "turn": "0.001728463",
      "x": "0.148079511",
      "y": "0.930595138"
    },
    {
      "turn": "0.579656660",
      "x": "0.404960623",
      "y": "0.818821022"
    },
    {
      "turn": "0.001728067",
      "x": "0.630798504",
      "y": "0.812338283"
    },
    {
      "turn": "0.579656660",
      "x": "1.087706791",
      "y": "0.810873476"
    },
    {
      "turn": "0.002022616",
      "x": "1.755662367",
      "y": "0.807494472"
    },
    {
      "turn": "-0.574656593",
      "x": "1.529850088",
      "y": "0.806581005"
    },
    {
      "turn": "0.001728067",
      "x": "0.292730116",
      "y": "0.622871199"
    },
    {
      "turn": "-0.575048476",
      "x": "0.744380776",
      "y": "0.617168901"
    },
    {
      "turn": "0.001728067",
      "x": "0.970193554",
      "y": "0.617949343"
    },
    {
      "turn": "-0.099384886",
      "x": "1.342319717",
      "y": "0.571939120"
    },
    {
      "turn": "0.213986879",
      "x": "1.703445441",
      "y": "0.491851904"
    },
    {
      "turn": "-0.575048476",
      "x": "0.406312388",
      "y": "0.427701817"
    },
    {
      "turn": "0.001728067",
      "x": "0.632150269",
      "y": "0.421219078"
    },
    {
      "turn": "-0.575048476",
      "x": "1.055437044",
      "y": "0.406287706"
    },
    {
      "turn": "0.452028062",
      "x": "1.414526773",
      "y": "0.357980804"
    },
    {
      "turn": "-0.575048476",
      "x": "0.717393759",
      "y": "0.209557441"
    },
    {
      "turn": "0.001728067",
      "x": "0.943206537",
      "y": "0.210337883"
    },
    {
      "turn": "-0.099384886",
      "x": "1.277485586",
      "y": "0.177776353"
    }
  ],
  "radius": "0.225814126"
}

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · 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.