The formula for n(s,t) was found partly by experiment.

I wrote down down the integers in order in a triangular pattern -- that's
depicted on the prevous page. The number that appears at the far right on each
row is a triangular number--so called because it's the number of points
with integer coordinates it takes to complete this type of triangular shape.
It appears in the standard arrangement for bowling pins.  They're also
the numbers that are the sums of consecutive integers.  1+2 = 3, 1+2+3=6,
etc.

There's a formula for them -- n(n+1)/2.

I wanted the first number in the pattern to correspond to the coordinates
(1,2) since they're the smallest (s,t) pair that produces pythagorean
triples where each of x,y,z is greater than 0.  So I made the 1 appear on
row 2, column 1.

So the row numbers have to correspond to the triangular number that is
given by the above formula for the number that's 1 less than the row number.
But if I want to be able to use the coordinates to refer to each number,
I need to take the last number in the previous row and add s to it to get
the number at the (s,t) coordinate position.  So I want the triangular
number that comes from replacing n in the above formula with t-2.
Hence (t-2)(t-1)/2 +s gives the integer at the (s,t) coordinates.

The reason I went to all this trouble was to assign an integer to each
(s,t) pair that can generate a pythagorean triple.

But I wanted to be able to take an integer, obtain (s,t) from it, then
generate a pythagorean triple.  That's where I'm talking about going the
other way.  Now, let n represent a number in the triangular pattern.  I
want to know what value of t corresponds to n.  If I knew the t that
corresponds to n, then I could easily find s.

Finding t is a matter of solving a quadratic formula, with a fixed value
substituted for s -- that took a bit of experimenting.