P85 · Packing and covering · Classic · Hard

Squares in an equilateral triangle · n = 38

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

Instancen = 38
ObjectiveMinimize container triangle side
Best known, unproven10.304Source-precision interval: 10.304–10.305 (values inside match)Compiled by Erich Friedman; Found by Gianluca Costantino in April 2026. Source expression: s = 10.304+.

The external best-known value is cited above; its layout is not reproduced here. The starting layout is an ordinary site baseline, not the external record.

Formal definition

  • ContainerThe editor and certificate normalize to the equilateral triangle with vertices (0,0), (1,0), (1/2,√3/2). 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 triangle side = 1/(2 sin(pi/4) 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 Squares in an equilateral triangle n = 38, 29.168155016
Current leader

29.168155016

container triangle side

Record holderFounding benchmark
Solution methodHuman
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 equilateral triangle with vertices (0,0), (1,0), (1/2,√3/2)

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",
      "x": "0.285714286",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.373333333"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.373333333"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.373333333"
    }
  ],
  "radius": "0.024242424"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.106666667"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.160000000"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.213333333"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.266666667"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.500000000",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.571428571",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.642857143",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.714285714",
      "y": "0.320000000"
    },
    {
      "turn": "0",
      "x": "0.285714286",
      "y": "0.373333333"
    },
    {
      "turn": "0",
      "x": "0.357142857",
      "y": "0.373333333"
    },
    {
      "turn": "0",
      "x": "0.428571429",
      "y": "0.373333333"
    }
  ],
  "radius": "0.024242424"
}

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?