By "getting an answer", I just mean the program finishes. I seem to be good at being unclear . Anyway, getting the solutions is trivial if we already have the triplets, at least with my algorithm. The triplets are stored in a vector and end up sorted in the end so I just have to check if 3 consecutive triplets have the same sum.

I've discovered that the problem is about equivalent to finding the solutions to the Diophantine equation A^2+B^2+C^2 = 2D^2.

This is becuase (a+b)+(b+c)+(a+c) = 2(a+b+c). The sum of three squares is twice a square. My algorithm focuses on finding solutions to this equation. If the equation has at least three solutions for a given D, then we can get at least one set {a,b,c,d,e,f,g,h,i} that satisfies all conditions. I prefer not to go into how I'm getting the solutions, because it's still rather bad. I'd be interested if you can come up with an efficient way to do it.

Here is some of my program's output:

a+b+c < 10000

Solutions: 10

Triplets:77

Time: 0.005 seconds

a+b+c < 10000000

Solutions: 108450

Triplets:114388

Time: 6.126 seconds

a+b+c < 100000000

Solutions: 1141596

Triplets:1161121

Time: 630.096 seconds

This set of 18 triplets is also worthy of note, trusting that my program didn't make any mistakes. They all sum to the same square and meet the conditions a+b, a+c, b+c is square:

22800 23856 46369

22800 31024 39201

21736 33489 37800

15184 19041 58800

14625 38736 39664

14064 22800 56161

12369 33000 47656

10656 14625 67744

7176 16849 69000

6000 27489 59536

6000 42400 44625

4816 6000 82209

3025 6000 84000

3025 7176 82824

3025 16296 73704

3025 29016 60984

3025 41496 48504

609 22800 69616

There is a set of size 173 for a+b+c < 10,000,000

Sorry for taking up so much space. I tried to fit multiple triplets on a line but the forum seems to get rid of extra spaces so I can't separate them clearly.