• #### Mathematical Recreation Problem from 1749

From leflynn@21:1/5 to All on Fri Jun 17 10:54:31 2022
To find three such numbers, that the sum or difference of any two of them shall be a square number. I'll post the solution from 1750 in a week.

L. Flynn

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Mark Brader@21:1/5 to All on Fri Jun 17 16:17:27 2022
L. Flynn:
To find three such numbers, that the sum or difference of any two of
them shall be a square number.

That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does
it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
Mark Brader "A clarification is not to make oneself clear. Toronto It is to PUT oneself IN the clear."
msb@vex.net -- Lynn & Jay, "Yes, Prime Minister"

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From leflynn@21:1/5 to Mark Brader on Sat Jun 18 08:34:10 2022
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of
them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does
it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
L. Flynn

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From henhanna@gmail.com@21:1/5 to Mark Brader on Sat Jun 18 08:33:51 2022
On Friday, June 17, 2022 at 2:17:35 PM UTC-7, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of
them shall be a square number.

That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does
it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--

https://math.stackexchange.com/questions/1386029/are-there-infinitely-many-pythagorean-triples

( apparently, the question (problem) is asking for something totally different )

so apparently ... this OR means AND

i wonder if this difference in conventions (usage of OR and AND)
is a common and prevalent one. ------- not just in math, but all over

today in math books (and in math classrooms), we rarely encounter this type of confusion / ambiguity

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to leflynn on Sat Jun 18 17:33:41 2022
On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of
them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does
it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.

For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Tobin@21:1/5 to leflynn@hotmail.com on Sat Jun 18 18:52:50 2022
In article <0361098f-6745-426a-bf20-e86a100afaa2n@googlegroups.com>,
leflynn <leflynn@hotmail.com> wrote:

To find three such numbers, that the sum or difference of any two of
them shall be a square number. I'll post the solution from 1750 in a
week.

Easier problem: guess who solved it in 1750.

-- Richard

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to Richard Tobin on Sat Jun 18 21:36:46 2022
On 18/06/2022 7:52 pm, Richard Tobin wrote:
In article <0361098f-6745-426a-bf20-e86a100afaa2n@googlegroups.com>,
leflynn <leflynn@hotmail.com> wrote:

To find three such numbers, that the sum or difference of any two of
them shall be a square number. I'll post the solution from 1750 in a
week.

Easier problem: guess who solved it in 1750.

Euler, I presume.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From leflynn@21:1/5 to Richard Tobin on Sat Jun 18 19:40:29 2022
On Saturday, June 18, 2022 at 2:55:02 PM UTC-4, Richard Tobin wrote:
In article <0361098f-6745-426a...@googlegroups.com>,
leflynn <lef...@hotmail.com> wrote:

To find three such numbers, that the sum or difference of any two of
them shall be a square number. I'll post the solution from 1750 in a
week.
Easier problem: guess who solved it in 1750.

-- Richard
Unless one had an encyclopedic knowledge of 18th English speaking persons as a pool (or some set even more limited containing the name of the solver), I would not think guessing the name of the solver I am aware of would be easier than guessing the six
square roots. Since, if one guessed three of them correctly, say sqrt(X-Y), sqrt(X-Z) and sqrt(Y-Z) (for X>Y>Z), then the other three could be computed.
L. Flynn

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Ilan Mayer@21:1/5 to Richard Heathfield on Sat Jun 18 20:55:07 2022
On Saturday, June 18, 2022 at 12:33:44 PM UTC-4, Richard Heathfield wrote:
On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of
them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does >> it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[Program as spoiler space]

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 1000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 1; n < numbers.Count; n++)
{
if (numbers[n][0] == numbers[n - 1][0])
{
int n1 = numbers[n - 1][1];
int n2 = numbers[n][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
Console.WriteLine("{0}, {1}, {2}", numbers[n][0], n1, n2);
}
}
}
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

The program comes up with:
434657, 150568, 420968

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to leflynn on Sun Jun 19 08:43:05 2022
On 19/06/2022 3:40 am, leflynn wrote:
On Saturday, June 18, 2022 at 2:55:02 PM UTC-4, Richard Tobin wrote:
In article <0361098f-6745-426a...@googlegroups.com>,
leflynn <lef...@hotmail.com> wrote:

To find three such numbers, that the sum or difference of any two of
them shall be a square number. I'll post the solution from 1750 in a
week.
Easier problem: guess who solved it in 1750.

-- Richard
Unless one had an encyclopedic knowledge of 18th English speaking persons as a pool (or some set even more limited containing the name of the solver),

...which leaves us with Lambert and Euler (Newton died in 1727
NS). Of the two, Euler is an easy odds-on favourite.

I would not think guessing the name of the solver I am aware of would be easier than guessing the six square roots.

Oh, but it is, it is.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From leflynn@21:1/5 to Ilan Mayer on Sun Jun 19 04:57:20 2022
On Saturday, June 18, 2022 at 11:55:09 PM UTC-4, Ilan Mayer wrote:
On Saturday, June 18, 2022 at 12:33:44 PM UTC-4, Richard Heathfield wrote:
On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of >>> them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does >> it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
[Program as spoiler space]

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 1000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 1; n < numbers.Count; n++)
{
if (numbers[n][0] == numbers[n - 1][0])
{
int n1 = numbers[n - 1][1];
int n2 = numbers[n][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
Console.WriteLine("{0}, {1}, {2}", numbers[n][0], n1, n2);
}
}
}
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

The program comes up with:
434657, 150568, 420968

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||

Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

L. Flynn

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to leflynn on Sun Jun 19 13:39:05 2022
On 19/06/2022 12:57 pm, leflynn wrote:
On Saturday, June 18, 2022 at 11:55:09 PM UTC-4, Ilan Mayer wrote:
On Saturday, June 18, 2022 at 12:33:44 PM UTC-4, Richard Heathfield wrote: >>> On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of >>>>>> them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does >>>>> it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
[Program as spoiler space]

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 1000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 1; n < numbers.Count; n++)
{
if (numbers[n][0] == numbers[n - 1][0])
{
int n1 = numbers[n - 1][1];
int n2 = numbers[n][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
Console.WriteLine("{0}, {1}, {2}", numbers[n][0], n1, n2);
}
}
}
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

The program comes up with:
434657, 150568, 420968

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||

Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

Alias of whom?

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to Richard Tobin on Sun Jun 19 15:01:21 2022
On 19/06/2022 2:35 pm, Richard Tobin wrote:
In article <t8n5da\$2uq\$1@dont-email.me>,
Richard Heathfield <rjh@cpax.org.uk> wrote:

Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious
to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers ,
answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

Alias of whom?

It's widely quoted that Frederick the Great considered Euler a
"country bumpkin"

Ha! Thank you; I didn't know that.

So I was licking my wounds in error!

As far as I can see from the interwebs, Euler seems to have been the
first to give the minimum solution and a generating formula.

In 1750, who else could it have been?

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Tobin@21:1/5 to rjh@cpax.org.uk on Sun Jun 19 13:35:07 2022
In article <t8n5da\$2uq\$1@dont-email.me>,
Richard Heathfield <rjh@cpax.org.uk> wrote:

Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious
to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , >answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

Alias of whom?

It's widely quoted that Frederick the Great considered Euler a
"country bumpkin" - presumably in German - but I have no information
on whether he was in the habit of answering mathematical questions in
the Ladies' Diary:

https://books.google.co.uk/books?id=PLQDyr3T6NQC&pg=PA19

The solution above had been discovered by Ozanam in 1691.

As far as I can see from the interwebs, Euler seems to have been the
first to give the minimum solution and a generating formula.

-- Richard

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From leflynn@21:1/5 to Richard Tobin on Sun Jun 19 07:18:25 2022
On Sunday, June 19, 2022 at 9:40:03 AM UTC-4, Richard Tobin wrote:
In article <t8n5da\$2uq\$1...@dont-email.me>,
Richard Heathfield <r...@cpax.org.uk> wrote:

Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious
to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , >answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

Alias of whom?
It's widely quoted that Frederick the Great considered Euler a
"country bumpkin" - presumably in German - but I have no information
on whether he was in the habit of answering mathematical questions in
the Ladies' Diary:

https://books.google.co.uk/books?id=PLQDyr3T6NQC&pg=PA19

The solution above had been discovered by Ozanam in 1691.

As far as I can see from the interwebs, Euler seems to have been the
first to give the minimum solution and a generating formula.

-- Richard
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.352.5649&rep=rep1&type=pdf

In particular, Landen used the pseudonyms Sir Stately Stiff, Peter Walton, Waltoniensis, C. Bumpkin, and Peter Puzzlem, who, collectively, proposed ten problems and answered seventeen.

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Ilan Mayer@21:1/5 to leflynn on Sun Jun 19 07:33:49 2022
On Sunday, June 19, 2022 at 7:57:23 AM UTC-4, leflynn wrote:
On Saturday, June 18, 2022 at 11:55:09 PM UTC-4, Ilan Mayer wrote:
On Saturday, June 18, 2022 at 12:33:44 PM UTC-4, Richard Heathfield wrote:
On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of >>> them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the
sum or difference of two of the three numbers shall be a square, or does
it mean that it shall be true that either the sum or the difference
is a square?

In other words, if X and Y are two of the numbers and X > Y, is it
required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
[Program as spoiler space]

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 1000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 1; n < numbers.Count; n++)
{
if (numbers[n][0] == numbers[n - 1][0])
{
int n1 = numbers[n - 1][1];
int n2 = numbers[n][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
Console.WriteLine("{0}, {1}, {2}", numbers[n][0], n1, n2);
}
}
}
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

The program comes up with:
434657, 150568, 420968

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||
Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

L. Flynn

Revised program:

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 3000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 0; n < numbers.Count; n++)
{
int m = n;
while (++m < numbers.Count && numbers[m][0] == numbers[n][0])
{
int n1 = numbers[n][1];
int n2 = numbers[m][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
int n0 = numbers[n][0];
int divisor1 = FirstDivisor(n0);
int divisor2 = FirstDivisor(n1);
int divisor3 = FirstDivisor(n2);
if (divisor1 != divisor2 || divisor1 != divisor3)
{
Console.WriteLine("{0}, {1}, {2}", n0, n1, n2);
}
}
}
}
}

private static int FirstDivisor(int number)
{
if (number % 2 == 0)
{
return 2;
}

int root = (int) Math.Sqrt(number);
for (int n = 3; n <= root; n += 2)
{
if (number % n == 0)
{
return n;
}
}

return number;
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

It produces 5 solutions (excluding solutions where all 3 numbers share a divisor), including the original one:
434657, 150568, 420968
733025, 418304, 488000
2399057, 1873432, 2288168
3911913, 1355112, 3788712
5320193, 589568, 1782032

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to leflynn on Sun Jun 19 16:57:42 2022
On 19/06/2022 3:18 pm, leflynn wrote:
On Sunday, June 19, 2022 at 9:40:03 AM UTC-4, Richard Tobin wrote:
In article <t8n5da\$2uq\$1...@dont-email.me>,
Richard Heathfield <r...@cpax.org.uk> wrote:

Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious
to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers ,
answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

Alias of whom?
It's widely quoted that Frederick the Great considered Euler a
"country bumpkin" - presumably in German - but I have no information
on whether he was in the habit of answering mathematical questions in
the Ladies' Diary:

https://books.google.co.uk/books?id=PLQDyr3T6NQC&pg=PA19

The solution above had been discovered by Ozanam in 1691.

As far as I can see from the interwebs, Euler seems to have been the
first to give the minimum solution and a generating formula.

-- Richard
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.352.5649&rep=rep1&type=pdf

In particular, Landen used the pseudonyms Sir Stately Stiff, Peter Walton, Waltoniensis, C. Bumpkin, and Peter Puzzlem, who, collectively, proposed ten problems and answered seventeen.

So not Euler after all, then.

I swear you guys make this stuff up as you go along.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From henhanna@gmail.com@21:1/5 to Ilan Mayer on Sun Jun 19 10:08:20 2022
On Sunday, June 19, 2022 at 7:33:51 AM UTC-7, Ilan Mayer wrote:
On Sunday, June 19, 2022 at 7:57:23 AM UTC-4, leflynn wrote:
On Saturday, June 18, 2022 at 11:55:09 PM UTC-4, Ilan Mayer wrote:
On Saturday, June 18, 2022 at 12:33:44 PM UTC-4, Richard Heathfield wrote:
On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of
them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the >> sum or difference of two of the three numbers shall be a square, or does
it mean that it shall be true that either the sum or the difference >> is a square?

In other words, if X and Y are two of the numbers and X > Y, is it >> required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
[Program as spoiler space]

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 1000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 1; n < numbers.Count; n++)
{
if (numbers[n][0] == numbers[n - 1][0])
{
int n1 = numbers[n - 1][1];
int n2 = numbers[n][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
Console.WriteLine("{0}, {1}, {2}", numbers[n][0], n1, n2);
}
}
}
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

The program comes up with:
434657, 150568, 420968

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||
Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin.

L. Flynn
Revised program:
using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 3000;
static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 0; n < numbers.Count; n++)
{
int m = n;
while (++m < numbers.Count && numbers[m][0] == numbers[n][0])
{
int n1 = numbers[n][1];
int n2 = numbers[m][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
int n0 = numbers[n][0];
int divisor1 = FirstDivisor(n0);
int divisor2 = FirstDivisor(n1);
int divisor3 = FirstDivisor(n2);
if (divisor1 != divisor2 || divisor1 != divisor3)
{
Console.WriteLine("{0}, {1}, {2}", n0, n1, n2);
}
}
}
}
}

private static int FirstDivisor(int number)
{
if (number % 2 == 0)
{
return 2;
}

int root = (int) Math.Sqrt(number);
for (int n = 3; n <= root; n += 2)
{
if (number % n == 0)
{
return n;
}
}

return number;
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}
It produces 5 solutions (excluding solutions where all 3 numbers share a divisor), including the original one:

434657, 150568, 420968

733025, 418304, 488000
2399057, 1873432, 2288168
3911913, 1355112, 3788712
5320193, 589568, 1782032

(in books) Usually only the smallest triple is given... i think you've found something new to humanity... How exciting!

yesterday, i think i saw a book (in Google.books from 1700's ?) that gave 3 solutions for the problem == 3 ways of proving or showing something (how to find a triple?) -- it looked too difficult, so i ddn't read them.

An Introduction to Algebra ... The second edition - Page 205 books.google.com › books
John BONNYCASTLE · 1808
FOUND INSIDE – PAGE 205
To find three numbers such , that the sum or difference of any two of them shall be square numbers . Ans . 1873432 , 2399057 , and 2288168 .

------------------- it's odd that this book gives only this triple.

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Mark Brader@21:1/5 to All on Sun Jun 19 21:27:38 2022
Richard Tobin:
As far as I can see from the interwebs, Euler seems to have been the
first to give the minimum solution and a generating formula.

Richard Heathfield:
In 1750, who else could it have been?

Well, Gauss was alive then. Elderly, though.
--
Mark Brader, Toronto "Argh! Hoist by my own canard :-) !" msb@vex.net -- Steve Summit

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Richard Heathfield@21:1/5 to Mark Brader on Mon Jun 20 07:56:24 2022
On 20/06/2022 3:27 am, Mark Brader wrote:
Richard Tobin:
As far as I can see from the interwebs, Euler seems to have been the
first to give the minimum solution and a generating formula.

Richard Heathfield:
In 1750, who else could it have been?

Well, Gauss was alive then. Elderly, though.

/The/ Gauss was born in 1777, making him (in 1750) more sort of
youngerly.

Wikipedia lists five other Gausses, none of whom was born earlier
than 1829, making them in 1750 even more youngerly.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Mark Brader@21:1/5 to All on Mon Jun 20 03:47:32 2022
Mark Brader:
Well, Gauss was alive then. Elderly, though.

Richard Heathfield:
/The/ Gauss was born in 1777, making him (in 1750) more sort of
youngerly.

Dang. I looked up his dates, then misread them.
--
Mark Brader | "...not one accident in a hundred deserves the name. Toronto | [This occurrence] was simply the legitimate result msb@vex.net | of carelessness." -- Washington Roebling

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Pancho@21:1/5 to Ilan Mayer on Mon Jun 20 13:32:35 2022
On 19/06/2022 15:33, Ilan Mayer wrote:
On Sunday, June 19, 2022 at 7:57:23 AM UTC-4, leflynn wrote:
On Saturday, June 18, 2022 at 11:55:09 PM UTC-4, Ilan Mayer wrote:
On Saturday, June 18, 2022 at 12:33:44 PM UTC-4, Richard Heathfield wrote: >>>> On 18/06/2022 4:34 pm, leflynn wrote:
On Friday, June 17, 2022 at 5:17:35 PM UTC-4, Mark Brader wrote:
L. Flynn:
To find three such numbers, that the sum or difference of any two of >>>>>>> them shall be a square number.
That's an ambiguous "or". Does it mean that any number which is the >>>>>> sum or difference of two of the three numbers shall be a square, or does >>>>>> it mean that it shall be true that either the sum or the difference >>>>>> is a square?

In other words, if X and Y are two of the numbers and X > Y, is it >>>>>> required that X+Y and X-Y are both squares, or only one of them?
--
X+Y, |X-Y|, X+Z, |X-Z|, Y+Z, |Y-Z| are all squares.
For all X, Y, and Z in the range 0-1000 and none equal to the
other two, I found no solutions.

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within
[Program as spoiler space]

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 1000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 1; n < numbers.Count; n++)
{
if (numbers[n][0] == numbers[n - 1][0])
{
int n1 = numbers[n - 1][1];
int n2 = numbers[n][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
Console.WriteLine("{0}, {1}, {2}", numbers[n][0], n1, n2);
}
}
}
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

The program comes up with:
434657, 150568, 420968

Please reply to ilanlmayer at gmail dot com

__/\__
\ /
__/\\ //\__ Ilan Mayer
\ /
/__ __\ Toronto, Canada
/__ __\
||
Nice program. The solution found in 1750 was

Answered by Mr. C. Bumpkin . By a method of substitution , too tedious to insert , he finds 1873432 , 2399057 , 2288168 , the three numbers , answering the conditions of the question .

I did not realize that the name was an alias until prodded by Richard Tobin. >>
L. Flynn

Revised program:

using System;
using System.Collections.Generic;

namespace SquaresPuzzle
{
class SquaresPuzzle
{
private const int N = 3000;

static void Main()
{
List<int[]> numbers = new List<int[]>();

for (int n1 = 1; n1 <= N; n1++)
{
for (int n2 = 1; n2 < n1; n2++)
{
if (n1 % 2 == n2 % 2)
{
int n1Squared = n1 * n1;
int n2Squared = n2 * n2;
int m1 = (n1Squared + n2Squared) / 2;
int m2 = (n1Squared - n2Squared) / 2;
numbers.Add(new[] { m1, m2 });
}
}
}

Comparer comparer = new Comparer();
numbers.Sort(comparer);
for (int n = 0; n < numbers.Count; n++)
{
int m = n;
while (++m < numbers.Count && numbers[m][0] == numbers[n][0])
{
int n1 = numbers[n][1];
int n2 = numbers[m][1];
int[] number1 = new[] { n1, n2 };
int[] number2 = new[] { n2, n1 };
if (numbers.BinarySearch(number1, comparer) >= 0 || numbers.BinarySearch(number2, comparer) >= 0)
{
int n0 = numbers[n][0];
int divisor1 = FirstDivisor(n0);
int divisor2 = FirstDivisor(n1);
int divisor3 = FirstDivisor(n2);
if (divisor1 != divisor2 || divisor1 != divisor3)
{
Console.WriteLine("{0}, {1}, {2}", n0, n1, n2);
}
}
}
}
}

private static int FirstDivisor(int number)
{
if (number % 2 == 0)
{
return 2;
}

int root = (int) Math.Sqrt(number);
for (int n = 3; n <= root; n += 2)
{
if (number % n == 0)
{
return n;
}
}

return number;
}

public class Comparer : IComparer<int[]>
{
public int Compare(int[] x, int[] y)
{
int result = x[0].CompareTo(y[0]);
if (result == 0)
{
result = x[1].CompareTo(y[1]);
}

return result;
}
}
}
}

It produces 5 solutions (excluding solutions where all 3 numbers share a divisor), including the original one:
434657, 150568, 420968
733025, 418304, 488000
2399057, 1873432, 2288168
3911913, 1355112, 3788712
5320193, 589568, 1782032

Please reply to ilanlmayer at gmail dot com

Here is a few more

Solution 88642, 891458, 3713858
Solution 150568, 420968, 434657
Solution 418304, 488000, 733025
Solution 589568, 1782032, 5320193
Solution 602272, 1683872, 1738628
Solution 856350, 949986, 993250
Solution 1355112, 3788712, 3911913
Solution 1673216, 1952000, 2932100
Solution 1761858, 2040642, 2843458
Solution 1873432, 2288168, 2399057
Solution 3425400, 3799944, 3973000

=====
Slightly different program, Square check i+j,j+k are redundant, but I
couldn't be bothered to remove them from the first version that was too
slow.

Java...

package com.company;

public class Main {

public static void main(String[] args) {
doCheck( 10000000);
}

public static void doCheck(long maxtest){
long sqrtMaxtext = (long)Math.floor(Math.sqrt(maxtest)) +1;
for (long i = 1; i < maxtest; i++) {
long sqrt2i = (long)Math.floor(Math.sqrt(2*i))+1;
for (long sj = sqrt2i; sj < sqrtMaxtext; sj++) {
long j = sj*sj-i;
if (isSquare(i + j) && isSquare(j - i)) {
long sqrt2j = (long)Math.floor(Math.sqrt(2*j))+1;
for (long sk = sqrt2j; sk < sqrtMaxtext; sk++) {
long k= sk*sk-j;
if (isSquare(k + i)
&& isSquare(k - i)
&& isSquare(k + j)
&& isSquare(k - j)
) {

System.out.printf("Solution %d, %d, %d\n",
i, j, k);
}
}
}
}
}
}

public static boolean isSquare(long x){
long root = (long)Math.floor(Math.sqrt(x));
return ((root * root - x) == 0);
}

}

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)