P76 · Extremal configurations · Classic · Hard

Covering a square with n equilateral triangles · n = 12

Cover the unit square with n congruent equilateral triangles. Every piece may be translated, rotated and flipped independently; arbitrary overlap and protrusion are allowed. Minimise the common side.

Instancen = 12
ObjectiveMinimize the common side

Record comparison

the common side · Lower is better
RecordValue / intervalAuthor / holderSource
External best known(15 − 7√3) / 6See source attributionErich Friedman ↗
Site record0.479274059zzzcyRecord details ↓

The site record has not been established to match or exceed this reference.

Formal definition

  • ContainerThe closed unit square K = [0,1] × [0,1]
  • Piecesn equilateral triangles of common side s; each piece may be translated and rotated independently, with the third vertex on either side of its reference edge
  • SubmissionGive the common side s together with the reference-edge midpoint, rotation parameter, and orientation for each of the n triangles
  • CoverEvery point of the square lies in at least one closed triangle; triangles may overlap or protrudeK⊆T1∪⋯∪Tn
  • Exact rotationThe certificate represents rotations by rational turn = tan(θ/2). By the rational half-angle parameterisation, cos θ and sin θ are rational, so all vertices and intersections are computed exactly in Q(√3)
  • Continuous verificationThe verifier builds the planar arrangement of triangle and square edges and performs an exact algebraic vertical sweep over Q(√3) to check for uncovered faces
  • ScoreThe common side s shared by all submitted triangles; smaller is betters(T)=s
  • ObjectiveMinimise s over all valid coversminTs(T)
Open full editor ↗

Layout shown: site record

VERIFIED CONSTRUCTIONcommon side 0.479274059

Getting a feel for it

60° pieces on a 90° boundary

Because 60° triangle corners do not match the 90° corners of the square, compact covers must overlap and protrude past the boundary. Adding a single triangle often reorganises the entire contact network.

Best known constructions

Friedman's table compiles the best known constructions for n = 1–12, featuring nontrivial layouts from n = 2 onward and distinct rotation angles for n ≥ 4. This catalogue reconstructs the published arrangements and verifies exact continuous coverage for each certificate.

Source
The record-holding arrangement for Covering a square with n equilateral triangles n = 12, 0.479274059
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderzzzcy
Solution methodAI · OpenAI: GPT-6 Astra
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver noteNo solver note yet (expand)+

The record holder has not shared a solver note yet.

Record history (8 changes)
  1. zzzcyAI · OpenAI: GPT-6 Astra
    0.479274088→0.479274059
  2. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.479274089→0.479274088
  3. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.479274155→0.479274089
  4. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.479274156→0.479274155
  5. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.479274472→0.479274156
  6. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.4792924→0.479274472
  7. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.47947406→0.4792924
  8. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.479941887→0.47947406
ANSWER FORMAT

How to write your answer

The container is the unit square [0,1]². Covering triangles may protrude; (x,y) marks the midpoint of one edge.

Submit side and triangles. Each piece is {x,y,turn,down}: (x,y) is the midpoint of a reference edge, turn = tan(θ/2) encodes the edge angle θ, and down selects which side of the edge contains the third vertex. The editor computes turn automatically; decimals have at most nine places.

The current leader's answer

{
  "side": "0.479274059",
  "triangles": [
    {
      "down": false,
      "turn": "-0.577350269",
      "x": "0.680822748",
      "y": "0.792468245"
    },
    {
      "down": false,
      "turn": "0.577350269",
      "x": "0.319177252",
      "y": "0.792468245"
    },
    {
      "down": true,
      "turn": "0.267949193",
      "x": "0.792468245",
      "y": "0.810417438"
    },
    {
      "down": false,
      "turn": "-0.267949192",
      "x": "0.792468245",
      "y": "0.189582562"
    },
    {
      "down": false,
      "turn": "0.267949193",
      "x": "0.207531755",
      "y": "0.189582562"
    },
    {
      "down": true,
      "turn": "-0.267949192",
      "x": "0.207531755",
      "y": "0.810417438"
    },
    {
      "down": true,
      "turn": "-0.577350269",
      "x": "0.619818515",
      "y": "0.898130678"
    },
    {
      "down": false,
      "turn": "0.577350270",
      "x": "0.619818515",
      "y": "0.101869322"
    },
    {
      "down": true,
      "turn": "-0.577350269",
      "x": "0.319177252",
      "y": "0.207531755"
    },
    {
      "down": true,
      "turn": "0.577350269",
      "x": "0.680822748",
      "y": "0.207531755"
    },
    {
      "down": false,
      "turn": "1.000000000",
      "x": "0.500000000",
      "y": "0.500000000"
    },
    {
      "down": false,
      "turn": "0.267949193",
      "x": "0.707531755",
      "y": "0.380181485"
    }
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 12
}

The current leader's answer

{
  "side": "0.479274059",
  "triangles": [
    {
      "down": false,
      "turn": "-0.577350269",
      "x": "0.680822748",
      "y": "0.792468245"
    },
    {
      "down": false,
      "turn": "0.577350269",
      "x": "0.319177252",
      "y": "0.792468245"
    },
    {
      "down": true,
      "turn": "0.267949193",
      "x": "0.792468245",
      "y": "0.810417438"
    },
    {
      "down": false,
      "turn": "-0.267949192",
      "x": "0.792468245",
      "y": "0.189582562"
    },
    {
      "down": false,
      "turn": "0.267949193",
      "x": "0.207531755",
      "y": "0.189582562"
    },
    {
      "down": true,
      "turn": "-0.267949192",
      "x": "0.207531755",
      "y": "0.810417438"
    },
    {
      "down": true,
      "turn": "-0.577350269",
      "x": "0.619818515",
      "y": "0.898130678"
    },
    {
      "down": false,
      "turn": "0.577350270",
      "x": "0.619818515",
      "y": "0.101869322"
    },
    {
      "down": true,
      "turn": "-0.577350269",
      "x": "0.319177252",
      "y": "0.207531755"
    },
    {
      "down": true,
      "turn": "0.577350269",
      "x": "0.680822748",
      "y": "0.207531755"
    },
    {
      "down": false,
      "turn": "1.000000000",
      "x": "0.500000000",
      "y": "0.500000000"
    },
    {
      "down": false,
      "turn": "0.267949193",
      "x": "0.707531755",
      "y": "0.380181485"
    }
  ]
}

Submit side and triangles. Each piece is {x,y,turn,down}: (x,y) is the midpoint of a reference edge, turn = tan(θ/2) encodes the edge angle θ, and down selects which side of the edge contains the third vertex. The editor computes turn automatically; decimals have at most nine places. · 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.