P83 · Packing and covering · Classic · Hard

Equilateral triangles in a square · n = 32

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

Instancen = 32
ObjectiveMinimize container square side
Best known, unproven3.97880Source-precision interval: 3.9788–3.97881 (values inside match)exhibited site certificate 3.978800452Compiled by Erich Friedman; 32. Found by Jake Loyd in June 2026. Source expression: s = 3.97880+.

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 = 32, 3.978800452
Current leader

3.978800452

container square side

Matches the best known
Answer source32. 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.273403183",
      "y": "0.927446691"
    },
    {
      "turn": "0.267949192",
      "x": "0.725944708",
      "y": "0.927446691"
    },
    {
      "turn": "0.005249269",
      "x": "0.073868583",
      "y": "0.875102591"
    },
    {
      "turn": "0.568642410",
      "x": "0.925805363",
      "y": "0.875296006"
    },
    {
      "turn": "0.267949192",
      "x": "0.499673946",
      "y": "0.884039297"
    },
    {
      "turn": "-0.267949192",
      "x": "0.374007929",
      "y": "0.811485989"
    },
    {
      "turn": "-0.267949192",
      "x": "0.625339962",
      "y": "0.811485989"
    },
    {
      "turn": "-0.570372392",
      "x": "0.147737167",
      "y": "0.750205183"
    },
    {
      "turn": "-0.006555613",
      "x": "0.851610725",
      "y": "0.750592012"
    },
    {
      "turn": "0.001903605",
      "x": "0.294145047",
      "y": "0.629126025"
    },
    {
      "turn": "0.000000000",
      "x": "0.072553309",
      "y": "0.624539166"
    },
    {
      "turn": "0.267949192",
      "x": "0.501838684",
      "y": "0.666379372"
    },
    {
      "turn": "-0.568866686",
      "x": "0.704887299",
      "y": "0.623505006"
    },
    {
      "turn": "0.568642410",
      "x": "0.925805363",
      "y": "0.625830845"
    },
    {
      "turn": "-0.574814916",
      "x": "0.367176265",
      "y": "0.503737144"
    },
    {
      "turn": "0.573887845",
      "x": "0.148399784",
      "y": "0.500020836"
    },
    {
      "turn": "-0.002600717",
      "x": "0.851600216",
      "y": "0.499979164"
    },
    {
      "turn": "0.001903605",
      "x": "0.632823735",
      "y": "0.496262856"
    },
    {
      "turn": "0.006386147",
      "x": "0.295112701",
      "y": "0.376494994"
    },
    {
      "turn": "-0.006555613",
      "x": "0.074194637",
      "y": "0.374169155"
    },
    {
      "turn": "-0.574814916",
      "x": "0.705854953",
      "y": "0.370873975"
    },
    {
      "turn": "-0.577350269",
      "x": "0.927446691",
      "y": "0.375460834"
    },
    {
      "turn": "-0.267949192",
      "x": "0.498161316",
      "y": "0.333620628"
    },
    {
      "turn": "0.568642410",
      "x": "0.148389275",
      "y": "0.249407988"
    },
    {
      "turn": "0.005249269",
      "x": "0.852262833",
      "y": "0.249794817"
    },
    {
      "turn": "0.267949192",
      "x": "0.374660038",
      "y": "0.188514011"
    },
    {
      "turn": "0.267949192",
      "x": "0.625992071",
      "y": "0.188514011"
    },
    {
      "turn": "-0.267949192",
      "x": "0.500326054",
      "y": "0.115960703"
    },
    {
      "turn": "-0.006555613",
      "x": "0.074194637",
      "y": "0.124703994"
    },
    {
      "turn": "-0.570372392",
      "x": "0.926131417",
      "y": "0.124897409"
    },
    {
      "turn": "-0.267949192",
      "x": "0.274055292",
      "y": "0.072553309"
    },
    {
      "turn": "-0.267949192",
      "x": "0.726596817",
      "y": "0.072553309"
    }
  ],
  "radius": "0.145106616"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "turn": "0.267949192",
      "x": "0.273403183",
      "y": "0.927446691"
    },
    {
      "turn": "0.267949192",
      "x": "0.725944708",
      "y": "0.927446691"
    },
    {
      "turn": "0.005249269",
      "x": "0.073868583",
      "y": "0.875102591"
    },
    {
      "turn": "0.568642410",
      "x": "0.925805363",
      "y": "0.875296006"
    },
    {
      "turn": "0.267949192",
      "x": "0.499673946",
      "y": "0.884039297"
    },
    {
      "turn": "-0.267949192",
      "x": "0.374007929",
      "y": "0.811485989"
    },
    {
      "turn": "-0.267949192",
      "x": "0.625339962",
      "y": "0.811485989"
    },
    {
      "turn": "-0.570372392",
      "x": "0.147737167",
      "y": "0.750205183"
    },
    {
      "turn": "-0.006555613",
      "x": "0.851610725",
      "y": "0.750592012"
    },
    {
      "turn": "0.001903605",
      "x": "0.294145047",
      "y": "0.629126025"
    },
    {
      "turn": "0.000000000",
      "x": "0.072553309",
      "y": "0.624539166"
    },
    {
      "turn": "0.267949192",
      "x": "0.501838684",
      "y": "0.666379372"
    },
    {
      "turn": "-0.568866686",
      "x": "0.704887299",
      "y": "0.623505006"
    },
    {
      "turn": "0.568642410",
      "x": "0.925805363",
      "y": "0.625830845"
    },
    {
      "turn": "-0.574814916",
      "x": "0.367176265",
      "y": "0.503737144"
    },
    {
      "turn": "0.573887845",
      "x": "0.148399784",
      "y": "0.500020836"
    },
    {
      "turn": "-0.002600717",
      "x": "0.851600216",
      "y": "0.499979164"
    },
    {
      "turn": "0.001903605",
      "x": "0.632823735",
      "y": "0.496262856"
    },
    {
      "turn": "0.006386147",
      "x": "0.295112701",
      "y": "0.376494994"
    },
    {
      "turn": "-0.006555613",
      "x": "0.074194637",
      "y": "0.374169155"
    },
    {
      "turn": "-0.574814916",
      "x": "0.705854953",
      "y": "0.370873975"
    },
    {
      "turn": "-0.577350269",
      "x": "0.927446691",
      "y": "0.375460834"
    },
    {
      "turn": "-0.267949192",
      "x": "0.498161316",
      "y": "0.333620628"
    },
    {
      "turn": "0.568642410",
      "x": "0.148389275",
      "y": "0.249407988"
    },
    {
      "turn": "0.005249269",
      "x": "0.852262833",
      "y": "0.249794817"
    },
    {
      "turn": "0.267949192",
      "x": "0.374660038",
      "y": "0.188514011"
    },
    {
      "turn": "0.267949192",
      "x": "0.625992071",
      "y": "0.188514011"
    },
    {
      "turn": "-0.267949192",
      "x": "0.500326054",
      "y": "0.115960703"
    },
    {
      "turn": "-0.006555613",
      "x": "0.074194637",
      "y": "0.124703994"
    },
    {
      "turn": "-0.570372392",
      "x": "0.926131417",
      "y": "0.124897409"
    },
    {
      "turn": "-0.267949192",
      "x": "0.274055292",
      "y": "0.072553309"
    },
    {
      "turn": "-0.267949192",
      "x": "0.726596817",
      "y": "0.072553309"
    }
  ],
  "radius": "0.145106616"
}

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?