P76 · Extremal configurations · Classic · Hard

Covering a square with n equilateral triangles · n = 10

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 = 10
ObjectiveMinimize the common side

Record comparison

the common side · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[0.529461907863038, 0.529464711177001]Abdulfayyod Mukhamedov2026-09Erich Friedman ↗
Site record0.529463361zzzcyRecord details ↓

Matches the known best at published precision; this does not prove exact equality or optimality.

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.529463361

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 = 10, 0.529463361
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 (5 changes)
  1. zzzcyAI · OpenAI: GPT-6 Astra
    0.530011676→0.529463361
  2. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.530011677→0.530011676
  3. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.53001181→0.530011677
  4. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.530111546→0.53001181
  5. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.530227833→0.530111546
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.529463361",
  "triangles": [
    {
      "down": false,
      "turn": "0.577350269",
      "x": "0.327794322",
      "y": "0.770735640"
    },
    {
      "down": false,
      "turn": "0.577350269",
      "x": "0.942428833",
      "y": "0.770735640"
    },
    {
      "down": false,
      "turn": "0.000000000",
      "x": "0.502745737",
      "y": "0.615231660"
    },
    {
      "down": false,
      "turn": "0.267949192",
      "x": "0.229264360",
      "y": "0.482865820"
    },
    {
      "down": false,
      "turn": "-0.267949192",
      "x": "0.770735640",
      "y": "0.473354306"
    },
    {
      "down": false,
      "turn": "1.000000000",
      "x": "0.557945707",
      "y": "0.407898404"
    },
    {
      "down": true,
      "turn": "-0.267949192",
      "x": "0.229264360",
      "y": "0.332930988"
    },
    {
      "down": true,
      "turn": "0.577350270",
      "x": "0.243505533",
      "y": "0.229264360"
    },
    {
      "down": false,
      "turn": "-0.267949192",
      "x": "0.770735640",
      "y": "-0.075132084"
    },
    {
      "down": false,
      "turn": "0.267949192",
      "x": "0.787210067",
      "y": "0.199111111"
    }
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 10
}

The current leader's answer

{
  "side": "0.529463361",
  "triangles": [
    {
      "down": false,
      "turn": "0.577350269",
      "x": "0.327794322",
      "y": "0.770735640"
    },
    {
      "down": false,
      "turn": "0.577350269",
      "x": "0.942428833",
      "y": "0.770735640"
    },
    {
      "down": false,
      "turn": "0.000000000",
      "x": "0.502745737",
      "y": "0.615231660"
    },
    {
      "down": false,
      "turn": "0.267949192",
      "x": "0.229264360",
      "y": "0.482865820"
    },
    {
      "down": false,
      "turn": "-0.267949192",
      "x": "0.770735640",
      "y": "0.473354306"
    },
    {
      "down": false,
      "turn": "1.000000000",
      "x": "0.557945707",
      "y": "0.407898404"
    },
    {
      "down": true,
      "turn": "-0.267949192",
      "x": "0.229264360",
      "y": "0.332930988"
    },
    {
      "down": true,
      "turn": "0.577350270",
      "x": "0.243505533",
      "y": "0.229264360"
    },
    {
      "down": false,
      "turn": "-0.267949192",
      "x": "0.770735640",
      "y": "-0.075132084"
    },
    {
      "down": false,
      "turn": "0.267949192",
      "x": "0.787210067",
      "y": "0.199111111"
    }
  ]
}

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.