P85 · Packing and covering · Classic · Hard

Squares in an equilateral triangle · n = 20

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

Instancen = 20
ObjectiveMinimize container triangle side
Best known, unproven7.61695Source-precision interval: 7.61695–7.61696 (values inside match)exhibited site certificate 7.616954284Compiled by Erich Friedman; Found by Haowei Lin in July 2026. Source expression: s = 7.61695+.

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 = 20, 7.616954284
Current leader

7.616954284

container triangle side

Matches the best known
Answer sourceHaowei Lin
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 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.131652498",
      "x": "0.486123621",
      "y": "0.710704738"
    },
    {
      "turn": "0.131652498",
      "x": "0.420470681",
      "y": "0.596990509"
    },
    {
      "turn": "0.131652498",
      "x": "0.561926044",
      "y": "0.579426240"
    },
    {
      "turn": "0.131652498",
      "x": "0.354825969",
      "y": "0.483290533"
    },
    {
      "turn": "0.131652498",
      "x": "0.496283007",
      "y": "0.465729166"
    },
    {
      "turn": "-0.122541828",
      "x": "0.662727702",
      "y": "0.441408945"
    },
    {
      "turn": "-0.068598303",
      "x": "0.571706786",
      "y": "0.332644473"
    },
    {
      "turn": "-0.131652498",
      "x": "0.734036221",
      "y": "0.329376706"
    },
    {
      "turn": "-0.395459928",
      "x": "0.414609275",
      "y": "0.328467898"
    },
    {
      "turn": "0.131652498",
      "x": "0.258855152",
      "y": "0.317064203"
    },
    {
      "turn": "-0.068598303",
      "x": "0.637864501",
      "y": "0.218055949"
    },
    {
      "turn": "-0.131652498",
      "x": "0.799999854",
      "y": "0.215124342"
    },
    {
      "turn": "0.131652498",
      "x": "0.193212116",
      "y": "0.203367129"
    },
    {
      "turn": "-0.414105290",
      "x": "0.476337674",
      "y": "0.197004097"
    },
    {
      "turn": "0.131652498",
      "x": "0.127569080",
      "y": "0.089670055"
    },
    {
      "turn": "-0.203095735",
      "x": "0.710810947",
      "y": "0.086310777"
    },
    {
      "turn": "-0.304463964",
      "x": "0.859248093",
      "y": "0.077102556"
    },
    {
      "turn": "0.414213562",
      "x": "0.424323257",
      "y": "0.065697223"
    },
    {
      "turn": "0.414213562",
      "x": "0.293037184",
      "y": "0.065643036"
    },
    {
      "turn": "-0.414213562",
      "x": "0.555609329",
      "y": "0.065643036"
    }
  ],
  "radius": "0.092833271"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "turn": "0.131652498",
      "x": "0.486123621",
      "y": "0.710704738"
    },
    {
      "turn": "0.131652498",
      "x": "0.420470681",
      "y": "0.596990509"
    },
    {
      "turn": "0.131652498",
      "x": "0.561926044",
      "y": "0.579426240"
    },
    {
      "turn": "0.131652498",
      "x": "0.354825969",
      "y": "0.483290533"
    },
    {
      "turn": "0.131652498",
      "x": "0.496283007",
      "y": "0.465729166"
    },
    {
      "turn": "-0.122541828",
      "x": "0.662727702",
      "y": "0.441408945"
    },
    {
      "turn": "-0.068598303",
      "x": "0.571706786",
      "y": "0.332644473"
    },
    {
      "turn": "-0.131652498",
      "x": "0.734036221",
      "y": "0.329376706"
    },
    {
      "turn": "-0.395459928",
      "x": "0.414609275",
      "y": "0.328467898"
    },
    {
      "turn": "0.131652498",
      "x": "0.258855152",
      "y": "0.317064203"
    },
    {
      "turn": "-0.068598303",
      "x": "0.637864501",
      "y": "0.218055949"
    },
    {
      "turn": "-0.131652498",
      "x": "0.799999854",
      "y": "0.215124342"
    },
    {
      "turn": "0.131652498",
      "x": "0.193212116",
      "y": "0.203367129"
    },
    {
      "turn": "-0.414105290",
      "x": "0.476337674",
      "y": "0.197004097"
    },
    {
      "turn": "0.131652498",
      "x": "0.127569080",
      "y": "0.089670055"
    },
    {
      "turn": "-0.203095735",
      "x": "0.710810947",
      "y": "0.086310777"
    },
    {
      "turn": "-0.304463964",
      "x": "0.859248093",
      "y": "0.077102556"
    },
    {
      "turn": "0.414213562",
      "x": "0.424323257",
      "y": "0.065697223"
    },
    {
      "turn": "0.414213562",
      "x": "0.293037184",
      "y": "0.065643036"
    },
    {
      "turn": "-0.414213562",
      "x": "0.555609329",
      "y": "0.065643036"
    }
  ],
  "radius": "0.092833271"
}

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?