P83 · Packing and covering · Classic · Hard

Equilateral triangles in a square · n = 29

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

Instancen = 29
ObjectiveMinimize container square side
Best known, unproven3.81711Source-precision interval: 3.81711–3.81712 (values inside match)exhibited site certificate 3.817113199Compiled by Erich Friedman; 29. Found by Jake Loyd in June 2026. Source expression: s = 3.81711+.

Formal definition

  • ContainerThe editor and certificate normalize to the unit square [0,1]². This is a coordinate convention only; scores use the literature's unit-piece scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn},…]}, with decimal strings of at most nine places. x,y are centres; circles require turn=0, polygons use turn=tan(θ/2). Coordinates and turn lie in ±4; 0 < radius ≤ 4.
  • ConstraintsExactly n congruent shapes lie wholly in the container with pairwise disjoint interiors. Polygon rotations are independent, not limited to quarter turns.
  • PrecisionInput decimals are exact rationals; regular-polygon vertices are algebraic, not rounded templates. Feasibility has no floating-point tolerance. A finite-decimal certificate is not a continuous optimality proof.
  • Objectivecontainer square side = 1/(2 sin(pi/3) r), smaller is better. Pages, leaderboards and literature share these units; conversion is automatic.
Open the full editor
VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Source and certificate

External targets are converted with their printed precision; decimal coordinate certificates are separate. Reconstruction loss never lowers the literature target, and a source construction is not automatically an optimality proof.

Source
The record-holding arrangement for Equilateral triangles in a square n = 29, 3.817113199
Current leader

3.817113199

container square side

Matches the best known
Answer source29. Found by Jake Loyd
Solution methodPublished reference construction
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 noteNo solver note yet (expand)

The record holder has not shared a solver note yet.

ANSWER FORMAT

How to write your answer

the unit square [0,1]²

Submit {radius, placements:[{x,y,turn},…]}, with decimal strings of at most nine places. x,y are centres; circles require turn=0, polygons use turn=tan(θ/2). Coordinates and turn lie in ±4; 0 < radius ≤ 4.

The current leader's answer

{
  "placements": [
    {
      "turn": "0.267949192",
      "x": "0.250345188",
      "y": "0.924373441"
    },
    {
      "turn": "0.542850509",
      "x": "0.463733195",
      "y": "0.873161848"
    },
    {
      "turn": "-0.010932812",
      "x": "0.618876826",
      "y": "0.867388842"
    },
    {
      "turn": "0.562864621",
      "x": "0.921527702",
      "y": "0.870695691"
    },
    {
      "turn": "0.000000000",
      "x": "0.075626559",
      "y": "0.813763777"
    },
    {
      "turn": "-0.026267222",
      "x": "0.381334231",
      "y": "0.746323696"
    },
    {
      "turn": "-0.010932812",
      "x": "0.843055405",
      "y": "0.741391381"
    },
    {
      "turn": "0.562864621",
      "x": "0.691621494",
      "y": "0.734777684"
    },
    {
      "turn": "0.577350269",
      "x": "0.151253119",
      "y": "0.682774734"
    },
    {
      "turn": "0.562864621",
      "x": "0.462036286",
      "y": "0.613538524"
    },
    {
      "turn": "0.565324785",
      "x": "0.922010889",
      "y": "0.611658015"
    },
    {
      "turn": "-0.010932812",
      "x": "0.613149196",
      "y": "0.605473375"
    },
    {
      "turn": "-0.000000000",
      "x": "0.075626559",
      "y": "0.551785691"
    },
    {
      "turn": "-0.000000000",
      "x": "0.302506238",
      "y": "0.530097815"
    },
    {
      "turn": "-0.009066323",
      "x": "0.844021779",
      "y": "0.482061701"
    },
    {
      "turn": "0.562864621",
      "x": "0.692150726",
      "y": "0.476294457"
    },
    {
      "turn": "0.577350269",
      "x": "0.151253119",
      "y": "0.420796647"
    },
    {
      "turn": "-0.577350269",
      "x": "0.924373441",
      "y": "0.351072658"
    },
    {
      "turn": "0.267949192",
      "x": "0.452526310",
      "y": "0.378132797"
    },
    {
      "turn": "-0.267949192",
      "x": "0.321537266",
      "y": "0.302506238"
    },
    {
      "turn": "-0.267949192",
      "x": "0.583515353",
      "y": "0.302506238"
    },
    {
      "turn": "0.000000000",
      "x": "0.075626559",
      "y": "0.289807604"
    },
    {
      "turn": "0.062056907",
      "x": "0.789550705",
      "y": "0.236229974"
    },
    {
      "turn": "-0.431496614",
      "x": "0.896229548",
      "y": "0.110041807"
    },
    {
      "turn": "0.267949192",
      "x": "0.262587119",
      "y": "0.151253119"
    },
    {
      "turn": "0.267949192",
      "x": "0.524566011",
      "y": "0.151253119"
    },
    {
      "turn": "-0.267949194",
      "x": "0.130989056",
      "y": "0.076680480"
    },
    {
      "turn": "-0.267949192",
      "x": "0.393576567",
      "y": "0.075626559"
    },
    {
      "turn": "-0.267949192",
      "x": "0.655555539",
      "y": "0.075626559"
    }
  ],
  "radius": "0.151253117"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "turn": "0.267949192",
      "x": "0.250345188",
      "y": "0.924373441"
    },
    {
      "turn": "0.542850509",
      "x": "0.463733195",
      "y": "0.873161848"
    },
    {
      "turn": "-0.010932812",
      "x": "0.618876826",
      "y": "0.867388842"
    },
    {
      "turn": "0.562864621",
      "x": "0.921527702",
      "y": "0.870695691"
    },
    {
      "turn": "0.000000000",
      "x": "0.075626559",
      "y": "0.813763777"
    },
    {
      "turn": "-0.026267222",
      "x": "0.381334231",
      "y": "0.746323696"
    },
    {
      "turn": "-0.010932812",
      "x": "0.843055405",
      "y": "0.741391381"
    },
    {
      "turn": "0.562864621",
      "x": "0.691621494",
      "y": "0.734777684"
    },
    {
      "turn": "0.577350269",
      "x": "0.151253119",
      "y": "0.682774734"
    },
    {
      "turn": "0.562864621",
      "x": "0.462036286",
      "y": "0.613538524"
    },
    {
      "turn": "0.565324785",
      "x": "0.922010889",
      "y": "0.611658015"
    },
    {
      "turn": "-0.010932812",
      "x": "0.613149196",
      "y": "0.605473375"
    },
    {
      "turn": "-0.000000000",
      "x": "0.075626559",
      "y": "0.551785691"
    },
    {
      "turn": "-0.000000000",
      "x": "0.302506238",
      "y": "0.530097815"
    },
    {
      "turn": "-0.009066323",
      "x": "0.844021779",
      "y": "0.482061701"
    },
    {
      "turn": "0.562864621",
      "x": "0.692150726",
      "y": "0.476294457"
    },
    {
      "turn": "0.577350269",
      "x": "0.151253119",
      "y": "0.420796647"
    },
    {
      "turn": "-0.577350269",
      "x": "0.924373441",
      "y": "0.351072658"
    },
    {
      "turn": "0.267949192",
      "x": "0.452526310",
      "y": "0.378132797"
    },
    {
      "turn": "-0.267949192",
      "x": "0.321537266",
      "y": "0.302506238"
    },
    {
      "turn": "-0.267949192",
      "x": "0.583515353",
      "y": "0.302506238"
    },
    {
      "turn": "0.000000000",
      "x": "0.075626559",
      "y": "0.289807604"
    },
    {
      "turn": "0.062056907",
      "x": "0.789550705",
      "y": "0.236229974"
    },
    {
      "turn": "-0.431496614",
      "x": "0.896229548",
      "y": "0.110041807"
    },
    {
      "turn": "0.267949192",
      "x": "0.262587119",
      "y": "0.151253119"
    },
    {
      "turn": "0.267949192",
      "x": "0.524566011",
      "y": "0.151253119"
    },
    {
      "turn": "-0.267949194",
      "x": "0.130989056",
      "y": "0.076680480"
    },
    {
      "turn": "-0.267949192",
      "x": "0.393576567",
      "y": "0.075626559"
    },
    {
      "turn": "-0.267949192",
      "x": "0.655555539",
      "y": "0.075626559"
    }
  ],
  "radius": "0.151253117"
}

Submit {radius, placements:[{x,y,turn},…]}, with decimal strings of at most nine places. x,y are centres; circles require turn=0, polygons use turn=tan(θ/2). Coordinates and turn lie in ±4; 0 < radius ≤ 4. · 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.

No threads yet. Be the first to talk about this problem?