Pythagorean tuples are those numbers which follow the rule a^2+b^2=c^2 where a, b and c are whole numbers. Columns A and B contain two numbers out of a, b & c and you need to determine the third number.
📌 Challenge Details and Links
ExcelBI Excel Challenge Number: 167
Challenge Difficulty: ⭐️
📥Download Sample File
📥Link to the solutions on LinkedIn
Solving the challenge of Find Missing Tuple Number with Power Query
Power Query solution 1 for Find Missing Tuple Number, proposed by Bo Rydobon 🇹🇭:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
Ans = List.Transform(
Table.ToRows(Source),
(a) =>
let
aa = a{0} * a{0},
bb = a{1} * a{1},
b = Number.Sqrt(aa + bb)
in
if Number.Mod(b, 1) = 0 then b else Number.Sqrt(Number.Abs(aa - bb))
)
in
Ans
Power Query solution 2 for Find Missing Tuple Number, proposed by Zoran Milokanović:
let
Source = Excel.CurrentWorkbook(){[Name = "Input"]}[Content],
Solution = List.Transform(
Table.ToRows(Source),
each
let
s = List.Transform(List.Sort(_), each Number.Power(_, 2)),
h = Number.Sqrt(s{0} + s{1}),
l = Number.Sqrt(s{1} - s{0})
in
(if l = Int64.From(l) then l else null) ?? (if h = Int64.From(h) then h else null)
)
in
Solution
Power Query solution 3 for Find Missing Tuple Number, proposed by Aditya Kumar Darak 🇮🇳:
let
Source = Excel.CurrentWorkbook(){[Name = "data"]}[Content],
Return = Table.AddColumn(
Source,
"Number3",
each [
V = Record.FieldValues(_),
T = List.Transform(V, (f) => Number.Power(f, 2)),
H = Number.Sqrt(List.Sum(T)),
O = Number.Sqrt(List.Max(T) - List.Min(T)),
F = if Number.Mod(H, 1) = 0 then H else O
][F]
)
in
Return
Power Query solution 4 for Find Missing Tuple Number, proposed by Alejandro Simón 🇵🇦 🇪🇸:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
Sol = Table.AddColumn(
Source,
"Answer",
each
let
a = [Number1],
b = [Number2],
c = List.Sort({Number.Power(a, 2)} & {Number.Power(b, 2)}),
d = {Number.Sqrt(c{0} + c{1})} & {Number.Sqrt(c{1} - c{0})},
e = List.Select(d, each Number.Mod(_, 1) = 0){0}
in
e
)
in
Sol
Power Query solution 5 for Find Missing Tuple Number, proposed by Luan Rodrigues:
let
Fonte = Tabela1,
res = Table.AddColumn(
Fonte,
"Personalizar",
each [
a = Number.Power([Number1], 2),
b = Number.Power([Number2], 2),
c = Number.Sqrt(if a - b < 0 then (a - b) * - 1 else a - b),
d = Number.Sqrt(a + b),
e = Number.Mod(c, 1),
f = Number.Mod(d, 1),
g = if e = 0 then c else d
][g]
)
in
res
Power Query solution 6 for Find Missing Tuple Number, proposed by Brian Julius:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
AddMin = Table.AddColumn(Source, "Min", each List.Min({[Number1], [Number2]})),
AddMax = Table.AddColumn(AddMin, "Max", each List.Max({[Number1], [Number2]})),
AddAnswer = Table.RemoveColumns(
Table.AddColumn(
AddMax,
"Answer",
each [
c2 = Number.Power([Min], 2) + Number.Power([Max], 2),
c = Number.Sqrt(c2),
Remainder = Number.Mod(c, 1),
Answer =
if Remainder = 0 then
c
else
Number.Sqrt(Number.Power([Max], 2) - Number.Power([Min], 2))
][Answer]
),
{"Min", "Max"}
)
in
AddAnswer
Power Query solution 7 for Find Missing Tuple Number, proposed by Guillermo Arroyo:
let
Origen = Excel.CurrentWorkbook(){[Name = "Tabla1"]}[Content],
a = List.Transform(
List.Zip({Origen[Number1], Origen[Number2]}),
each
let
m = Number.Power(_{0}, 2),
n = Number.Power(_{1}, 2),
o = Number.Sqrt(Number.Abs(m - n)),
p = Number.Sqrt(m + n),
q = if Number.Mod(o, 1) = 0 then o else p
in
q
)
in
a
Solving the challenge of Find Missing Tuple Number with Excel
Excel solution 1 for Find Missing Tuple Number, proposed by Bo Rydobon 🇹🇭:
=LET(a,A2:A10^2,b,B2:B10^2,c,ABS(a-b)^0.5,IF(MOD(c,1),(a+b)^0.5,c))
=LET(a,A2:A10^2,b,B2:B10^2,c,ABS(a-b)^0.5,IF(INT(c)=c,c,(a+b)^0.5))
Excel solution 2 for Find Missing Tuple Number, proposed by Bo Rydobon 🇹🇭:
=BYROW(A2:B10^2,LAMBDA(a,LET(b,(MAX(a)-MIN(a))^0.5,IF(MOD(b,1),SUM(a)^0.5,b))))
Excel solution 3 for Find Missing Tuple Number, proposed by Rick Rothstein:
=MAP(A2:A10,B2:B10,LAMBDA(a,b,LET(s,SQRT(a*a+b*b),IF(INT(s)=s,s,SQRT(ABS(a*a-b*b))))))
Excel solution 4 for Find Missing Tuple Number, proposed by John V.:
=BYROW(A2:B10^2,LAMBDA(r,LET(m,(MAX(r)-MIN(r))^0.5,IF(m=INT(m),m,SUM(r)^0.5))))
Excel solution 5 for Find Missing Tuple Number, proposed by محمد حلمي:
=MAP(A2:A10,B2:B10,LAMBDA(c,v,LET(
r,(MAX(c,v)^2-MIN(c,v)^2)^0.5,
IF(r=TRUNC(r),r,(c^2+v^2)^0.5))))
Excel solution 6 for Find Missing Tuple Number, proposed by Kris Jaganah:
=LET(a,A2:A10^2,b,B2:B10^2,c,(a+b)^0.5,d,ABS(a-b)^0.5,IF(MOD(c,1)=0,c,d))
Excel solution 7 for Find Missing Tuple Number, proposed by Julian Poeltl:
=BYROW(A2:B10,LAMBDA(A,LET(S,SQRT(SUM(A^2)),IF(INT(S)=S,S,SQRT(MAX(A)^2-MIN(A)^2)))))
Excel solution 8 for Find Missing Tuple Number, proposed by Aditya Kumar Darak 🇮🇳:
=BYROW(
A2:B10,
LAMBDA(a,
LET(
sq, a ^ 2,
c1, SQRT(SUM(sq)),
c2, SQRT(MAX(sq) - MIN(sq)),
r, IF(MOD(c1, 1), c2, c1),
r
)
)
)
Excel solution 9 for Find Missing Tuple Number, proposed by Timothée BLIOT:
=LET(A,A2:A10^2, B,B2:B10^2,
C, IF((A+B)^(1/2)=INT((A+B)^(1/2)),(A+B)^(1/2),0),
D, BYROW(HSTACK(A,B), LAMBDA(x, LET(Z, (MAX(x)-MIN(x))^(1/2), IF(Z=INT(Z),Z,0) ) )), C+D)
Excel solution 10 for Find Missing Tuple Number, proposed by Hussein SATOUR:
=BYROW(
A2:B10,
LAMBDA(
x,
LET(
a,
SQRT(
MAX(
x
)^2 - MIN(
x
)^2
),
IF(
INT(
a
)=a,
a,
SQRT(
MAX(
x
)^2 + MIN(
x
)^2
)
)
)
)
)
Excel solution 11 for Find Missing Tuple Number, proposed by Oscar Mendez Roca Farell:
=MAP(A2:A10, B2:B10, LAMBDA(a, b, LET(_m, MAX(a, b)^2, _n, MIN(a, b)^2, (_m-_n*(-1)^(MOD((_m-_n)^0,5,1)>0))^0,5)))
Excel solution 12 for Find Missing Tuple Number, proposed by Sunny Baggu:
=MAP(A2:A10,B2:B10,LAMBDA(a,b,
LET(_hyp,SQRT(SUMSQ(a,b)),
_side,SQRT(ABS(a^2-b^2)),
IF(_hyp=TRUNC(_hyp),_hyp,_side))))
Excel solution 13 for Find Missing Tuple Number, proposed by Md. Zohurul Islam:
=LET(u,A2:A10^2,v,B2:B10^2,
a,SQRT(u+v),
b,IF(a=INT(a),a,0),
d,SQRT(ABS(BYROW(HSTACK(u,v)*{-1,1},SUM))),
e,IF(b=0,d,b),
e)
Excel solution 14 for Find Missing Tuple Number, proposed by Tolga Demirci, PMP, PMI-ACP, MOS-Expert:
=MAP(A2:A10;B2:B10;LAMBDA(x;y;LET(q;IFERROR(SQRT((x^2)+(y^2));0);w;IFERROR(SQRT((x^2)-(y^2));0);e;IFERROR(SQRT((y^2)-(x^2));0);IF(AND(q<>0;INT(q)=q);q;IF(AND(w<>0;INT(w)=w);w;IF(AND(e<>0;INT(e)=e);e;""))))))
Excel solution 15 for Find Missing Tuple Number, proposed by Stefan Olsson:
=BYROW(A2:B10,
LAMBDA(br,
LET(
a, MIN(br),
bc, MAX(br),
c, SQRT(a^2+bc^2),
b, SQRT(bc^2-a^2),
IFS(INT(b)=b,b,true,c)
)))
Excel solution 16 for Find Missing Tuple Number, proposed by Peter Bartholomew:
= LET(
a², a*a,
b², b*b,
h₁, √(a² + b²),
h₂, √(a² - b²),
IFnonINT(h₁, h₂)
)
a² and b² are just regular names with a Unicode character, as are h₁, h₂. The Lambda function √ is just the SQRT function combined with ABS
= LAMBDA(x, SQRT(ABS(x))).
As for IFnonINT (modelled on IFERROR etc.)
=LAMBDA(x, y, IF(MOD(x, 1) = 0, x, y))
Excel solution 17 for Find Missing Tuple Number, proposed by Guillermo Arroyo:
=LET(a,(A2:B10)^2,MAP(SQRT(MMULT(a,{1;1})),SQRT(ABS(MMULT(a,{1;-1}))),LAMBDA(i,j,IF(DELTA(INT(i),i),i,j))))
Excel solution 18 for Find Missing Tuple Number, proposed by Quadri Olayinka Atharu:
=LET(a,A2:A10,b,B2:B10,
c,SQRT((a^2+b^2)),
d,SQRT(BYROW(a:b,LAMBDA(x,(MAX(x)^2)-(MIN(x)^2)))),
IF(MOD(c,1)=0,c,d))
Excel solution 19 for Find Missing Tuple Number, proposed by Viswanathan M B:
=LET(X, SQRT(a2:a10^2+b2:b10^2),
IF(X=INT(X), X,
SQRT(ABS(a2:a10^2-b2:b10^2))
)
)
Excel solution 20 for Find Missing Tuple Number, proposed by Gabriel Raigosa:
=MAP(A2:A10,B2:B10,LAMBDA(a,b,LET(x,a*a,y,b*b,r,RAIZ(x+y),SI(ENTERO(r)=r,r,RAIZ(MAX(x,y)-MIN(x,y))))))
=MAP(A2:A10,B2:B10,LAMBDA(a,b,LET(x,a*a,y,b*b,r,RAIZ(x+y),SI(RESIDUO(r,1),RAIZ(MAX(x,y)-MIN(x,y)),r))))
▶️EN:
=MAP(A2:A10,B2:B10,LAMBDA(a,b,LET(x,a*a,y,b*b,r,SQRT(x+y),IF(INT(r)=r,r,SQRT(MAX(x,y)-MIN(x,y))))))
=MAP(A2:A10,B2:B10,LAMBDA(a,b,LET(x,a*a,y,b*b,r,SQRT(x+y),IF(MOD(r,1),SQRT(MAX(x,y)-MIN(x,y)),r))))
Excel solution 21 for Find Missing Tuple Number, proposed by Stéphane Ntonga, FMVA®:
= IF(SQRT((MAX(A2:B2)^2 - MIN(A2:B2)^2)) - INT(SQRT((MAX(A2:B2)^2 - MIN(A2:B2)^2))) = 0, SQRT((MAX(A2:B2)^2 - MIN(A2:B2)^2)), SQRT((MAX(A2:B2)^2 + MIN(A2:B2)^2)))
Solving the challenge of Find Missing Tuple Number with Python in Excel
Python in Excel solution 1 for Find Missing Tuple Number, proposed by Alejandro Campos:
df = xl("A1:B10", headers=True)
def encontrar_tercero(a, b):
c1 = np.sqrt(a**2 + b**2)
c2 = np.sqrt(abs(a**2 - b**2))
if c1.is_integer():
return int(c1)
elif c2.is_integer():
return int(c2)
else:
return None
df['Column C'] = df.apply(lambda row: encontrar_tercero(row['Number1'], row['Number2']), axis=1)
df
Solving the challenge of Find Missing Tuple Number with Excel VBA
Excel VBA solution 1 for Find Missing Tuple Number, proposed by Vasin Nilyok:
Sub PythagorasTuples()
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For r = 2 To LastRow
Side1 = Application.WorksheetFunction.Power(Cells(r, 1), 2)
Side2 = Application.WorksheetFunction.Power(Cells(r, 2), 2)
SideNormal = Sqr(Side1 + Side2)
On Error Resume Next
If Fix(SideNormal) = SideNormal Then
Cells(r, 5) = SideNormal
ElseIf Side1 > Side2 Then
Cells(r, 5) = Sqr(Side1 - Side2)
Else
Cells(r, 5) = Sqr(Side2 - Side1)
End If
Next r
End Sub
&&&
