
EXAMPLE

For row 1, just the sqrt(0) < sqrt(1);
for row 2, just the sqrt(1) < sqrt(2);
for row 3, just the sqrt(2) < sqrt(3);
for row 4, just the sqrt(3) < sqrt(4);
for row 5, just the sqrt(4) < sqrt(5);
for row 6, sqrt(1) + sqrt(2) < sqrt(6);
for row 7, just the sqrt(6) < sqrt(7);
for row 8, sqrt(1) + sqrt(3) < sqrt(8);
for row 9, just the sqrt(8) < sqrt(9);
for row 10, sqrt(2) + sqrt(3) is the best approximation;
for row 11, sqrt(1) + sqrt(5) < sqrt(11);
for row 12, sqrt(1) + sqrt(6) < sqrt(12);
for row 27, sqrt(1) + sqrt(3) + sqrt(6) is the best approximation;
for row 63, 2*sqrt(3) + 2*sqrt(5) is the best approximation and appears as the integers {12, 20};
for row 107, sqrt(3) + sqrt(6) + sqrt(9) + sqrt(10) is the best approximation;
for row 165, sqrt(1) + 2*sqrt(2) + 2*sqrt(3) + sqrt(5) + sqrt(11) is the best approximation and appears as the integers {1, 5, 8, 11, 12};
for row 218, sqrt(1) + sqrt(3) + sqrt(5) + sqrt(6) + sqrt(13) + sqrt(14) is the best approximation; etc.
Triangle begins:
0;
1;
2;
3;
4;
1, 2;
6;
1, 3;
8;
2, 3;
...


MATHEMATICA

y[x_] := Block[{lst = {x  1}, min = Sqrt[x]  Sqrt[x  1], rad = 1, sx = Sqrt[x]},
If[x > 5, lim = (sx  1)^2;
Do[diff = sx  (Sqrt[a] + Sqrt[b]);
If[diff < min && diff > 0, min = diff; lst = {b, a}; rad = 2],
{a, 2, lim}, {b, 1, a  1}]];
If[x > 17, lim = (sx  Sum[Sqrt[z], {z, 2}])^2;
Do[diff = sx  (Sqrt[a] + Sqrt[b] + Sqrt[c]);
If[diff < 0, Continue[]];
If[diff < min && diff > 0, min = diff; lst = {c, b, a}; rad = 3],
{a, 3, lim}, {b, 2, a  1}, {c, 1, b  1}]];
If[x > 37, lim = (sx  Sum[Sqrt[z], {z, 3}])^2;
Do[diff = sx  (Sqrt[a] + Sqrt[b] + Sqrt[c] + Sqrt[d]);
If[diff < 0, Continue[]];
If[diff < min && diff > 0, min = diff; lst = {d, c, b, a};
rad = 4],
{a, 4, lim}, {b, 3, a  1}, {c, 2, b  1}, {d, 1, c  1}]];
If[x > 71, lim = (sx  Sum[Sqrt[z], {z, 4}])^2;
Do[diff = sx  (Sqrt[a] + Sqrt[b] + Sqrt[c] + Sqrt[d] + Sqrt[e]);
If[diff < 0, Continue[]];
If[diff < min && diff > 0, min = diff; lst = {e, d, c, b, a};
rad = 5],
{a, 5, lim}, {b, 4, a  1}, {c, 3, b  1}, {d, 2, c  1}, {e, 1,
d  1}]];
If[x > 117, lim = (sx  Sum[Sqrt[z], {z, 5}])^2;
Do[diff =
sx  (Sqrt[a] + Sqrt[b] + Sqrt[c] + Sqrt[d] + Sqrt[e] + Sqrt[f]);
If[diff < 0, Continue[]];
If[diff < min && diff > 0, min = diff; lst = {f, e, d, c, b, a};
rad = 6],
{a, 6, lim}, {b, 5, a  1}, {c, 4, b  1}, {d, 3, c  1}, {e, 2,
d  1}, {f, 1, e  1}]];
If[x > 181, lim = (sx  Sum[Sqrt[z], {z, 6}])^2;
Do[diff =
sx  (Sqrt[a] + Sqrt[b] + Sqrt[c] + Sqrt[d] + Sqrt[e] + Sqrt[f] +
Sqrt[g]); If[diff < 0, Continue[]];
If[diff < min && diff > 0, min = diff;
lst = {g, f, e, d, c, b, a}; rad = 7],
{a, 7, lim}, {b, 6, a  1}, {c, 5, b  1}, {d, 4, c  1}, {e, 3,
d  1}, {f, 2, e  1}, {g, 1, f  1}]];
If[x > 265, lim = (sx  Sum[Sqrt[z], {z, 7}])^2;
Do[diff =
sx  (Sqrt[a] + Sqrt[b] + Sqrt[c] + Sqrt[d] + Sqrt[e] + Sqrt[f] +
Sqrt[g] + Sqrt[h]); If[diff < 0, Continue[]];
If[diff < min && diff > 0, min = diff;
lst = {g, f, e, d, c, b, a}; rad = 8],
{a, 8, lim}, {b, 7, a  1}, {c, 6, b  1}, {d, 5, c  1}, {e, 4,
d  1}, {f, 3, e  1}, {g, 2, f  1}, {h, 1, g  1}]];
lst];
Array[ y, 50] // Flatten
