Home » Find Missing Tuple Number

Find Missing Tuple Number

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
                    
                  

&&&

Leave a Reply