You are given a square piece of paper with size 10x10 units. What is the most number of triangles that can be cut from this square, such that:

  1. Each triangle has integer sides.
  2. Each triangle is distinct - cannot have the same lengths as another triangle.
  • 1
    $\begingroup$ Do we have to use all of the square, or can we have some bits left over that aren't integer triangles? $\endgroup$
    – fljx
    Apr 23, 2023 at 14:55
  • $\begingroup$ you can have bits left over $\endgroup$ Apr 23, 2023 at 15:01
  • 1
    $\begingroup$ @WeatherVane ok if you do that then I will give you another bounty ;) $\endgroup$ Apr 30, 2023 at 12:56
  • 1
    $\begingroup$ This will keep me quiet for a while :) $\endgroup$ Apr 30, 2023 at 13:10
  • 1
    $\begingroup$ @Dmitry it was a great challenge. My earlier answer found a solution of 22 in a couple of hours (not exhaustive) and I made improvements to the code to find 24 in less than 1 second, with no better found when left running overnight. But I've spent enough time on it now :) $\endgroup$ May 9, 2023 at 22:26

3 Answers 3


An optimal 26-triangle solution:

GeoGebra link
26 Triangles

Previous manual construction of a solution with 25 triangles:

These triangles were cut from corrugated stock paper on a CAD table.
enter image description here
Using 25 of the 26 triangles listed by Rob Pratt. The excluded triangle is $(3,4,4)$.

GeoGebra construction to confirm validity:

GeoGebra link
enter image description here

  • $\begingroup$ OMG I love this so much! Thank you for putting in the effort! $\endgroup$ Apr 27, 2023 at 2:33
  • $\begingroup$ I wonder if you can shift the central big triangle to the left to make space for the last one? $\endgroup$ Apr 27, 2023 at 2:34
  • $\begingroup$ I update my answer by hand, before I noticed this! $\endgroup$ Apr 27, 2023 at 7:45
  • 1
    $\begingroup$ @DmitryKamenetsky Optimal solution found. $\endgroup$ Apr 28, 2023 at 1:01
  • $\begingroup$ @DanielMathias superb work! Stay tuned for a bonus. $\endgroup$ Apr 28, 2023 at 1:37

Update prompted by @AxiomaticSystem, tweaked by hand to add 2 more triangles.

24 triangles.
enter image description here

So far: I have improved on the range of triangles available ...

Smallest sum of areas: $94.398979$
Largest sum of areas: $99.999984$

Triangles with side length up to $14$ can be used, and there are $225$ such.
Sorted by area, they are:

The sum of the smallest $27$ triangles is more than $100$, so the most triangles that can be used in any arrangement is $26$. So far my brute forcing has found about $90,000$ permutations of triangles (without trying to pack them) having a total sum of areas in this range:

Smallest: $94.3989794542673764$ comprising

Largest: $99.9999838387641660$ comprising
and also having the same area is
which differ by one triangle: apparently $(3,4,4)$ and $(2,6,7)$ have the same area.

The largest triangle which can be used is the 65th: $(5,6,10)$. The sum of this area and the first $25$ triangles is less than $100$.

My initial rough testing has found ...

... an arrangement of 22 triangles. It doesn't look very well packed and I am sure this can be improved (it hasn't finished running) – with a better approach to the problem.
enter image description here
Plainly I am creating chains of triangles with equal side length. An improvement could be to consider a propagation of triangles from one free side; from the other; and from both.

  • $\begingroup$ Yes, we should consider side length up to $\lfloor 10 \sqrt2 \rfloor = 14$, but I get $308$ such, still yielding an upper bound of $26$ triangles. $\endgroup$
    – RobPratt
    Apr 25, 2023 at 13:51
  • 1
    $\begingroup$ @RobPratt yes there are 308 such triangles, but only 225 of them can can be contained in a 10x10 square, for example $(14,14,14)$ cannot. Having more, narrow triangles such as $(1,12,12)$ gives more options in packing. You can see from my area sequence that some of these have less area than some of those bound by a side length of 10. $\endgroup$ Apr 25, 2023 at 14:23
  • 1
    $\begingroup$ Very nice work! You are now only a few triangles away from the upper bound. There are some big gaps, so it seems that more can still fit in. $\endgroup$ Apr 25, 2023 at 14:42
  • 2
    $\begingroup$ It appears that (1,8,8), or even (1,9,9), can fit along the right side as-is, and that (1,2,2) fits inside the upper hole. Performing that move, and then moving up the cluster in the bottom left up a bit should accommodate another (1,x,x) triangle along the bottom. $\endgroup$ Apr 26, 2023 at 13:48
  • 1
    $\begingroup$ Upper bound attained. See my updated answer. $\endgroup$ Apr 28, 2023 at 1:05

Not an answer, but too long for a comment.

There are $125$ triples $(a,b,c)$ with $a,b,c\in\{1,\dots,10\}$, $a \le b \le c$, and $a+b>c$. By considering areas only, solving a binary knapsack problem yields an upper bound of

$26$ triangles:


that together use

$\approx 94.905$ units of area, which turns out to be the minimum for $26$ triangles.

The maximum total area at most $100$ for $26$ triangles turns out to be $\approx 99.999858453$.

  • $\begingroup$ I make the maximum area for 26 triangles to be 99.999858 (without attempting to pack). When ordered by area, these are triangles 0 to 30 without 20, 22, 23, 24 and 26. $\endgroup$ Apr 23, 2023 at 18:53
  • 1
    $\begingroup$ @WeatherVane Thanks, corrected. I had used a default optimality tolerance of 1e-4 instead of 0. $\endgroup$
    – RobPratt
    Apr 23, 2023 at 19:25
  • $\begingroup$ There seems to be some debate about whether this packing problem is NP-hard or NP-complete. I wonder whether the OP knows a definitive answer, or if this will turn out to be another 'race': user X finds 10 triangles, user Y finds 11, etc. $\endgroup$ Apr 23, 2023 at 19:39
  • 1
    $\begingroup$ Nice work! Now we just need to pack them into the square... $\endgroup$ Apr 23, 2023 at 22:43
  • 1
    $\begingroup$ These 26 triangles can indeed be packed into a 10x10 square. $\endgroup$ Apr 28, 2023 at 1:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.