 Open in App
Not now

# Euler’s Four Square Identity

• Last Updated : 05 May, 2021

According to Euler’s four square identity, the product of any two numbers a and b can be expressed as a sum of four squares if a and b both can individually be expressed as the sum of four squares.
Mathematically, if a = and b = Then, a * b = where c1, c2, c3, c4, d1, d2, d3, d4, e1, e2, e3, e4 are any integer.

```Some examples are,

a = = 30
b = = 4
ab = a * b = 120 = a = = 15
b = = 24
ab = a * b = 810 = a = = 15
b = = 26
ab = a * b = 390 = ```

Example:

```Input: a = 1 * 1 + 2 * 2 + 3 * 3 + 4 * 4
b = 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1

Output: i = 0
j = 2
k = 4
l = 10
Product of 30 and 4 can be written as sum of squares of i, j, k, l
120 = 0 * 0 + 2 * 2 + 4 * 4 + 10 * 10

i = 2
j = 4
k = 6
l = 8
Product of 30 and 4 can be written as sum of squares of i, j, k, l
120 = 2 * 2 + 4 * 4 + 6 * 6 + 8 * 8```

Explanation :
The product of the 2 numbers a(30) and b(4) can be represented as the sum of 4 squares as stated by Euler’s four square identity. The above are the 2 representations of the product a * b in the sum of 4 squares form. All possible representations of the product a*b in the sum of four squares form are shown.

```Input: a = 1*1 + 2*2 + 3*3 + 1*1
b = 1*1 + 2*2 + 1*1 + 1*1

Output: i = 0
j = 1
k = 2
l = 10
Product of 15 and 7 can be written as sum of squares of i, j, k, l
105 = 0*0 + 1*1 + 2*2 + 10*10

i = 0
j = 4
k = 5
l = 8
Product of 15 and 7 can be written as sum of squares of i, j, k, l
105 = 0*0 + 4*4 + 5*5 + 8*8

i = 1
j = 2
k = 6
l = 8
Product of 15 and 7 can be written as sum of squares of i, j, k, l
105 = 1*1 + 2*2 + 6*6 + 8*8

i = 2
j = 2
k = 4
l = 9
Product of 15 and 7 can be written as sum of squares of i, j, k, l
105 = 2*2 + 2*2 + 4*4 + 9*9

i = 2
j = 4
k = 6
l = 7
Product of 15 and 7 can be written as sum of squares of i, j, k, l
105 = 2*2 + 4*4 + 6*6 + 7*7

i = 3
j = 4
k = 4
l = 8
Product of 15 and 7 can be written as sum of squares of i, j, k, l
105 = 3*3 + 4*4 + 4*4 + 8*8```

Approach :
Brute Force :
A given number(a*b) can be represented in a sum of 4 squares form by using 4 loops i, j, k, l to find each of the four squares. This gives all possible combinations to form a*b as a sum of four squares. At each iteration of the innermost loop(l loop), check the sum with the product a*b. If there is a match, then print the 4 numbers(i, j, k, and l) whose sum of squares equals a*b.

## C++

 `// CPP code to verify euler's four square identity` `#include `   `using` `namespace` `std;`   `#define show(x) cout << #x << " = " << x << "\n";`   `// function to check euler four square identity` `void` `check_euler_four_square_identity(``int` `a, ``int` `b,` `                                      ``int` `ab)` `{` `    ``int` `s = 0;` `    `  `    ``// loops checking the sum of squares` `    ``for` `(``int` `i = 0;i * i <= ab;i ++)` `    ``{` `        ``s = i * i;` `        ``for` `(``int` `j = i;j * j <= ab;j ++)` `        ``{` `            ``// sum of 2 squares` `            ``s = j * j + i * i;` `            `  `            ``for` `(``int` `k = j;k * k <= ab;k ++)` `            ``{` `                ``// sum of 3 squares` `                ``s = k * k + j * j + i * i;` `                `  `                ``for` `(``int` `l = k;l * l <= ab;l ++)` `                ``{` `                    ``// sum of 4 squares` `                    ``s = l * l + k * k + j * j + i * i;`   `                    ``// product of 2 numbers represented` `                    ``// as sum of four squares i, j, k, l ` `                    ``if` `(s == ab)` `                    ``{` `                        ``// product of 2 numbers a and b` `                        ``// represented as sum of four ` `                        ``// squares i, j, k, l ` `                        ``show(i);` `                        ``show(j);` `                        ``show(k);` `                        ``show(l);` `                        ``cout <<``""` `                        ``<< ``"Product of "` `<< a` `                        ``<< ``" and "` `<< b;` `                        ``cout << ``" can be written"``<<` `                        ``" as sum of squares of i, "``<<` `                         ``"j, k, l\n"``;` `                        ``cout << ab << ``" = "``;` `                        ``cout << i << ``"*"` `<< i << ``" + "``;` `                        ``cout << j << ``"*"` `<< j << ``" + "``;` `                        ``cout << k << ``"*"` `<< k << ``" + "``;` `                        ``cout << l << ``"*"` `<< l << ``"\n"``;` `                        ``cout << ``"\n"``;` `                    ``}` `                ``}` `            ``}` `        ``}` `    ``}` `}`   `// Driver code` `int` `main() ` `{` `    ``// a and b such that they can be expressed ` `    ``// as sum of squares of numbers` `    ``int` `a = 30; ``// 1*1 + 2*2 + 3*3 + 4*4;` `    ``int` `b = 4;  ``// 1*1 + 1*1 + 1*1 + 1*1;`   `    ``// given numbers can be represented as` `    ``// sum of 4 squares By euler's four` `    ``// square identity product also can be ` `    ``// represented as sum of 4 squares` `    ``int` `ab = a * b;` `    `  `    ``check_euler_four_square_identity(a, b, ab);` `    `  `    ``return` `0;` `}`

## Java

 `// Java code to verify euler's ` `// four square identity` `import` `java.io.*;`   `class` `GFG ` `{` `    `  `// function to check euler` `// four square identity` `static` `void` `check_euler_four_square_identity(``int` `a, ` `                                             ``int` `b,` `                                             ``int` `ab)` `{` `    ``int` `s = ``0``;` `    `  `    ``// loops checking the` `    ``// sum of squares` `    ``for` `(``int` `i = ``0``; ` `             ``i * i <= ab; i ++)` `    ``{` `        ``s = i * i;` `        ``for` `(``int` `j = i; ` `                 ``j * j <= ab; j ++)` `        ``{` `            ``// sum of 2 squares` `            ``s = j * j + i * i;` `            `  `            ``for` `(``int` `k = j;` `                     ``k * k <= ab; k ++)` `            ``{` `                ``// sum of 3 squares` `                ``s = k * k + j * ` `                    ``j + i * i;` `                `  `                ``for` `(``int` `l = k; ` `                         ``l * l <= ab; l ++)` `                ``{` `                    ``// sum of 4 squares` `                    ``s = l * l + k * k +` `                        ``j * j + i * i;`   `                    ``// product of 2 numbers ` `                    ``// represented as sum of` `                    ``// four squares i, j, k, l ` `                    ``if` `(s == ab)` `                    ``{` `                        ``// product of 2 numbers ` `                        ``// a and b represented ` `                        ``// as sum of four squares` `                        ``// i, j, k, l ` `                        ``System.out.print(``"i = "` `+ ` `                                          ``i + ``"\n"``);` `                        ``System.out.print(``"j = "` `+ ` `                                          ``j + ``"\n"``);` `                        ``System.out.print(``"k = "` `+ ` `                                          ``k + ``"\n"``);` `                        ``System.out.print(``"l = "` `+ ` `                                          ``l + ``"\n"``);` `                        ``System.out.print(``"Product of "` `+ ` `                                         ``a + ``" and "` `+ b);` `                        ``System.out.print(``" can be written"``+` `                               ``" as sum of squares of i, "``+` `                                              ``"j, k, l\n"``);` `                        ``System.out.print(ab + ``" = "``);` `                        ``System.out.print(i + ``"*"` `+` `                                         ``i + ``" + "``);` `                        ``System.out.print(j + ``"*"` `+` `                                         ``j + ``" + "``);` `                        ``System.out.print(k + ``"*"` `+` `                                         ``k + ``" + "``);` `                        ``System.out.print(l + ``"*"` `+ ` `                                         ``l + ``"\n"``);` `                        ``System.out.println();` `                    ``}` `                ``}` `            ``}` `        ``}` `    ``}` `}`   `// Driver code` `public` `static` `void` `main (String[] args)` `{` `    ``// a and b such that ` `    ``// they can be expressed ` `    ``// as sum of squares ` `    ``// of numbers` `    ``int` `a = ``30``; ``// 1*1 + 2*2 + ` `                ``// 3*3 + 4*4;` `    ``int` `b = ``4``;  ``// 1*1 + 1*1 + ` `                ``// 1*1 + 1*1;`   `    ``// given numbers can be ` `    ``// represented as sum of ` `    ``// 4 squares By euler's ` `    ``// four square identity ` `    ``// product also can be ` `    ``// represented as sum ` `    ``// of 4 squares` `    ``int` `ab = a * b;` `    `  `    ``check_euler_four_square_identity(a, b, ab);` `}` `}`   `// This code is contributed by ajit`

## Python3

 `# Python3 code to verify euler's ` `# four square identity`   `# function to check euler` `# four square identity` `def` `check_euler_four_square_identity(a, b, ab):`   `    ``s ``=` `0``;` `    `  `    ``# loops checking the sum of squares` `    ``i ``=` `0``;` `    ``while` `(i ``*` `i <``=` `ab):` `    `  `        ``s ``=` `i ``*` `i;` `        ``j ``=` `i;` `        ``while` `(j ``*` `j <``=` `ab):` `            `  `            ``# sum of 2 squares` `            ``s ``=` `j ``*` `j ``+` `i ``*` `i;` `            ``k ``=` `j;` `            ``while` `(k ``*` `k <``=` `ab):` `                `  `                ``# sum of 3 squares` `                ``s ``=` `k ``*` `k ``+` `j ``*` `j ``+` `i ``*` `i;` `                ``l ``=` `k;` `                ``while` `(l ``*` `l <``=` `ab):` `                    `  `                    ``# sum of 4 squares` `                    ``s ``=` `l ``*` `l ``+` `k ``*` `k ``+` `j ``*` `j ``+` `i ``*` `i;`   `                    ``# product of 2 numbers represented` `                    ``# as sum of four squares i, j, k, l ` `                    ``if` `(s ``=``=` `ab):` `                        `  `                        ``# product of 2 numbers a and b` `                        ``# represented as sum of four ` `                        ``# squares i, j, k, l ` `                        ``print``(``"i ="``, i);` `                        ``print``(``"j ="``, j);` `                        ``print``(``"k ="``, k);` `                        ``print``(``"l ="``, l);` `                        ``print``(``"Product of "``, a, ` `                              ``"and"``, b, end ``=` `"");` `                        ``print``(``" can be written as sum of"``, ` `                                  ``"squares of i, j, k, l"``);` `                        ``print``(ab, ``"= "``, end ``=` `"");` `                        ``print``(i, ``"*"``, i, ``"+ "``, end ``=` `"");` `                        ``print``(j, ``"*"``, j, ``"+ "``, end ``=` `"");` `                        ``print``(k, ``"*"``, k, ``"+ "``, end ``=` `"");` `                        ``print``(l, ``"*"``, l);` `                        ``print``("");` `                    ``l ``+``=` `1``;` `                ``k ``+``=` `1``;` `            ``j ``+``=` `1``;` `        ``i ``+``=` `1``;`   `# Driver code`   `# a and b such that they can be expressed ` `# as sum of squares of numbers` `a ``=` `30``; ``# 1*1 + 2*2 + 3*3 + 4*4;` `b ``=` `4``; ``# 1*1 + 1*1 + 1*1 + 1*1;`   `# given numbers can be represented as` `# sum of 4 squares By euler's four` `# square identity product also can be ` `# represented as sum of 4 squares` `ab ``=` `a ``*` `b;`   `check_euler_four_square_identity(a, b, ab);`   `# This code is contributed` `# by mits`

## C#

 `// C# code to verify euler's ` `// four square identity` `using` `System;`   `class` `GFG` `{` `    ``// function to check euler` `    ``// four square identity` `    ``static` `void` `check_euler_four_square_identity(``int` `a, ` `                                                 ``int` `b,` `                                                 ``int` `ab)` `    ``{` `        ``int` `s = 0;` `        `  `        ``// loops checking the` `        ``// sum of squares` `        ``for` `(``int` `i = 0; i * i <= ab; i ++)` `        ``{` `            ``s = i * i;` `            ``for` `(``int` `j = i; j * j <= ab; j ++)` `            ``{` `                ``// sum of 2 squares` `                ``s = j * j + i * i;` `                `  `                ``for` `(``int` `k = j; k * k <= ab; k ++)` `                ``{` `                    ``// sum of 3 squares` `                    ``s = k * k + j * ` `                        ``j + i * i;` `                    `  `                    ``for` `(``int` `l = k; l * l <= ab; l ++)` `                    ``{` `                        ``// sum of 4 squares` `                        ``s = l * l + k * k +` `                            ``j * j + i * i;` `    `  `                        ``// product of 2 numbers ` `                        ``// represented as sum of` `                        ``// four squares i, j, k, l ` `                        ``if` `(s == ab)` `                        ``{` `                            ``// product of 2 numbers a ` `                            ``// and b represented as  ` `                            ``// sum of four squares i, j, k, l ` `                            ``Console.Write(``"i = "` `+ i + ``"\n"``);` `                            ``Console.Write(``"j = "` `+ j + ``"\n"``);` `                            ``Console.Write(``"k = "` `+ k + ``"\n"``);` `                            ``Console.Write(``"l = "` `+ l + ``"\n"``);` `                            ``Console.Write(``"Product of "` `+ a + ` `                                                ``" and "` `+ b);` `                            ``Console.Write(``" can be written"``+` `                                ``" as sum of squares of i, "``+` `                                               ``"j, k, l\n"``);` `                            ``Console.Write(ab + ``" = "``);` `                            ``Console.Write(i + ``"*"` `+ i + ``" + "``);` `                            ``Console.Write(j + ``"*"` `+ j + ``" + "``);` `                            ``Console.Write(k + ``"*"` `+ k + ``" + "``);` `                            ``Console.Write(l + ``"*"` `+ l + ``"\n"``);` `                            ``Console.Write(``"\n"``);` `                        ``}` `                    ``}` `                ``}` `            ``}` `        ``}` `    ``}` `    `  `    ``// Driver code` `    ``static` `void` `Main()` `    ``{` `        ``// a and b such that ` `        ``// they can be expressed ` `        ``// as sum of squares of numbers` `        ``int` `a = 30; ``// 1*1 + 2*2 + 3*3 + 4*4;` `        ``int` `b = 4; ``// 1*1 + 1*1 + 1*1 + 1*1;` `    `  `        ``// given numbers can be ` `        ``// represented as sum of ` `        ``// 4 squares By euler's ` `        ``// four square identity ` `        ``// product also can be ` `        ``// represented as sum ` `        ``// of 4 squares` `        ``int` `ab = a * b;` `        `  `        ``check_euler_four_square_identity(a, b, ab);` `    ``}` `}`   `// This code is contributed by ` `// Manish Shaw(manishshaw1)`

## PHP

 ``

## Javascript

 ``

Output:

```i = 0
j = 2
k = 4
l = 10
Product of 30 and 4 can be written as sum of squares of i, j, k, l
120 = 0*0 + 2*2 + 4*4 + 10*10

i = 2
j = 4
k = 6
l = 8
Product of 30 and 4 can be written as sum of squares of i, j, k, l
120 = 2*2 + 4*4 + 6*6 + 8*8```

Improved Algorithm:
The time complexity of the above algorithm is in the worst case. This can be reduced to by subtracting the squares of i, j, and k from the product a*b for all (i, j, k) and checking if that value is a perfect square or not. If it is a perfect square, then we have found the solution.

## C++

 `// CPP code to verify Euler's four-square identity ` `#include` `using` `namespace` `std;`   `// This function prints the four numbers ` `// if a solution is found Else prints ` `// solution doesn't exist ` `void` `checkEulerFourSquareIdentity(``int` `a, ``int` `b) ` `{ ` `    ``// Number for which we want to ` `    ``// find a solution ` `    ``int` `ab = a * b; ` `    ``bool` `flag = ``false``; ` `    `  `    ``int` `i = 0; ` `    ``while``(i * i <= ab) ``// loop for first number ` `    ``{ ` `        ``int` `j = i; ` `        ``while` `(i * i + j * j <= ab) ``// loop for second number ` `        ``{ ` `            ``int` `k = j; ` `            ``while``(i * i + j * j + ` `                ``k * k <= ab) ``// loop for third number ` `            ``{ ` `                ``// Calculate the fourth number ` `                ``// and apply square root ` `                ``double` `l = ``sqrt``(ab - (i * i + j * ` `                                        ``j + k * k)); ` `                `  `                ``// Check if the fourthNum is Integer or ` `                ``// not. If yes, then solution is found ` `                ``if` `(``floor``(l) == ``ceil``(l) && l >= k) ` `                ``{ ` `                    ``flag = ``true``; ` `                    ``cout<<``"i = "` `<< i << ``"\n"``; ` `                    ``cout<<``"j = "` `<< j << ``"\n"``; ` `                    ``cout<<``"k = "` `<< k << ``"\n"``; ` `                    ``cout<<``"l = "` `<< (``int``)l << ``"\n"``; ` `                    ``cout<<``"Product of "` `<< a << ``" and "``<< b << ` `                                ``" can be written as sum of squares"``<< ` `                                                ``" of i, j, k, l \n"``; ` `                                                `  `                    ``cout<

## Java

 `// Java code to verify Euler's four-square identity` `class` `GFG` `{` `    `  `// This function prints the four numbers ` `// if a solution is found Else prints ` `// solution doesn't exist` `public` `static` `void` `checkEulerFourSquareIdentity(``int` `a, ` `                                                ``int` `b)` `{` `    ``// Number for which we want to` `    ``// find a solution` `    ``int` `ab = a * b;` `    ``boolean` `flag = ``false``;` `    `  `    ``int` `i = ``0``;` `    ``while``(i * i <= ab) ``// loop for first number` `    ``{` `        ``int` `j = i;` `        ``while` `(i * i + j * j <= ab) ``// loop for second number` `        ``{` `            ``int` `k = j;` `            ``while``(i * i + j * j + ` `                  ``k * k <= ab) ``// loop for third number` `            ``{` `                ``// Calculate the fourth number ` `                ``// and apply square root` `                ``double` `l = Math.sqrt(ab - (i * i + j * ` `                                           ``j + k * k));` `                `  `                ``// Check if the fourthNum is Integer or ` `                ``// not. If yes, then solution is found` `                ``if` `(Math.floor(l) == Math.ceil(l) && l >= k)` `                ``{` `                    ``flag = ``true``;` `                    ``System.out.print(``"i = "`  `+ i + ``"\n"``);` `                    ``System.out.print(``"j = "` `+ j + ``"\n"``);` `                    ``System.out.print(``"k = "` `+ k + ``"\n"``);` `                    ``System.out.print(``"l = "` `+ (``int``)l + ``"\n"``);` `                    ``System.out.print(``"Product of "` `+ a + ``" and "``+ b + ` `                                 ``" can be written as sum of squares"``+` `                                                ``" of i, j, k, l \n"``);` `                                                `  `                    ``System.out.print(ab + ``" = "` `+ i + ``"*"` `+ i + ``" + "` `+ ` `                                        ``j + ``"*"` `+ j + ``" + "` `+ k + ``"*"` `+ ` `                                             ``k + ``" + "` `+ (``int``)l + ``"*"` `+ ` `                                                        ``(``int``)l + ``"\n"``);` `                    `  `                ``}` `                ``k += ``1``;` `            ``}` `            ``j += ``1``;` `        ``}` `        ``i += ``1``;` `    ``}` `    `  `    ``// Solution cannot be found` `    ``if` `(flag == ``false``)` `    ``{` `        ``System.out.println(``"Solution doesn't exist!"``);` `        ``return` `;` `    ``}` `}`   `// Driver Code` `public` `static` `void` `main(String[] args)` `{` `    ``int` `a = ``30``;` `    ``int` `b = ``4``;` `    ``checkEulerFourSquareIdentity(a, b);` `}` `}`   `// This code is contributed by mits`

## Python3

 `# Python3 code to verify Euler's four-square identity` `# This function prints the four numbers if a solution is found` `# Else prints solution doesn't exist` `def` `checkEulerFourSquareIdentity(a, b):`   `    ``# Number for which we want to find a solution` `    ``ab ``=` `a``*``b` `    ``flag ``=` `False` `    `  `    ``i ``=` `0` `    ``while` `i``*``i <``=` `ab: ``# loop for first number` `        `  `        ``j ``=` `i` `        ``while` `i``*``i ``+` `j``*``j <``=` `ab: ``# loop for second number` `        `  `            ``k ``=` `j` `            ``while` `i``*``i ``+` `j``*``j ``+` `k``*``k <``=` `ab: ``# loop for third number` `                `  `                ``# Calculate the fourth number and apply square root` `                ``l ``=` `(ab ``-` `(i``*``i ``+` `j``*``j ``+` `k``*``k))``*``*``(``0.5``)` `                `  `                ``# Check if the fourthNum is Integer or not` `                ``# If yes, then solution is found` `                ``if` `l ``=``=` `int``(l) ``and` `l >``=` `k:` `                    ``flag ``=` `True` `                    ``print``(``"i = "``,i)` `                    ``print``(``"j = "``,j)` `                    ``print``(``"k = "``,k)` `                    ``print``(``"l = "``,l)` `                    ``print``(``"Product of"``, a , ``"and"` `, b , ` `                          ``"can be written as sum of squares of i, j, k, l"` `) ` `                    ``print``(ab,``" = "``,i,``"*"``,i,``"+"``,j,``"*"``,j,``"+"``,` `                          ``k,``"*"``,k,``"+"``,l,``"*"``,l)` `                    `  `                    `  `                ``k ``+``=` `1` `            `  `            ``j ``+``=` `1` `        `  `        ``i ``+``=` `1` `        `  `    ``# Solution cannot be found` `    ``if` `flag ``=``=` `False``:` `        ``print``(``"Solution doesn't exist!"``)` `        ``return`   `a, b ``=` `30``, ``4` `checkEulerFourSquareIdentity(a,b)`

## C#

 `// C# code to verify Euler's four-square identity` `using` `System;`   `class` `GFG` `{` `    `  `// This function prints the four numbers ` `// if a solution is found Else prints ` `// solution doesn't exist` `public` `static` `void` `checkEulerFourSquareIdentity(``int` `a, ` `                                                ``int` `b)` `{` `    ``// Number for which we want to` `    ``// find a solution` `    ``int` `ab = a * b;` `    ``bool` `flag = ``false``;` `    `  `    ``int` `i = 0;` `    ``while``(i * i <= ab) ``// loop for first number` `    ``{` `        ``int` `j = i;` `        ``while` `(i * i + j * j <= ab) ``// loop for second number` `        ``{` `            ``int` `k = j;` `            ``while``(i * i + j * j + ` `                  ``k * k <= ab) ``// loop for third number` `            ``{` `                ``// Calculate the fourth number ` `                ``// and apply square root` `                ``double` `l = Math.Sqrt(ab - (i * i + j * ` `                                           ``j + k * k));` `                `  `                ``// Check if the fourthNum is Integer or ` `                ``// not. If yes, then solution is found` `                ``if` `(Math.Floor(l) == Math.Ceiling(l) && l >= k)` `                ``{` `                    ``flag = ``true``;` `                    ``Console.Write(``"i = "` `+ i + ``"\n"``);` `                    ``Console.Write(``"j = "` `+ j + ``"\n"``);` `                    ``Console.Write(``"k = "` `+ k + ``"\n"``);` `                    ``Console.Write(``"l = "` `+ (``int``)l + ``"\n"``);` `                    ``Console.Write(``"Product of "` `+ a + ``" and "``+ b + ` `                              ``" can be written as sum of squares"``+` `                                             ``" of i, j, k, l \n"``);` `                                                `  `                    ``Console.Write(ab + ``" = "` `+ i + ``"*"` `+ i + ``" + "` `+ ` `                                     ``j + ``"*"` `+ j + ``" + "` `+ k + ``"*"` `+ ` `                                          ``k + ``" + "` `+ (``int``)l + ``"*"` `+ ` `                                                      ``(``int``)l + ``"\n"``);` `                    `  `                ``}` `                ``k += 1;` `            ``}` `            ``j += 1;` `        ``}` `        ``i += 1;` `    ``}` `    `  `    ``// Solution cannot be found` `    ``if` `(flag == ``false``)` `    ``{` `        ``Console.WriteLine(``"Solution doesn't exist!"``);` `        ``return` `;` `    ``}` `}`   `// Driver Code` `public` `static` `void` `Main()` `{` `    ``int` `a = 30;` `    ``int` `b = 4;` `    ``checkEulerFourSquareIdentity(a, b);` `}` `}`   `// This code is contributed by mits`

## PHP

 `= ``\$k``)` `                ``{` `                    ``\$flag` `= true;` `                    ``print``(``"i = "` `. ``\$i` `. ``"\n"``);` `                    ``print``(``"j = "` `. ``\$j` `. ``"\n"``);` `                    ``print``(``"k = "` `. ``\$k` `. ``"\n"``);` `                    ``print``(``"l = "` `. ``\$l` `. ``"\n"``);` `                    ``print``(``"Product of "` `. ``\$a` `. ``" and "` `. ``\$b` `. ` `                          ``" can be written as sum of squares"` `.` `                                          ``" of i, j, k, l \n"``);` `                    ``print``(``\$ab` `. ``" = "` `. ``\$i` `. ``"*"` `. ``\$i` `. ``" + "` `. ` `                          ``\$j` `. ``"*"` `. ``\$j` `. ``" + "` `. ``\$k` `. ``"*"` `.` `                          ``\$k` `. ``" + "` `. ``\$l` `. ``"*"` `. ``\$l` `. ``"\n"``);` `                    `  `                ``}` `                ``\$k` `+= 1;` `            ``}` `            ``\$j` `+= 1;` `        ``}` `        ``\$i` `+= 1;` `    ``}` `    ``// Solution cannot be found` `    ``if` `(``\$flag` `== false)` `    ``{` `        ``print``(``"Solution doesn't exist!"``);` `        ``return` `0;` `    ``}` `}`   `// Driver Code` `\$a` `= 30;` `\$b` `= 4;` `checkEulerFourSquareIdentity(``\$a``, ``\$b``);`   `// This code is contributed by mits` `?>`

## Javascript

 ``

Output:

```
i = 0
j = 2
k = 4
l = 10
Product of 30 and 4 can be written as sum of squares of i, j, k, l
120 = 0*0 + 2*2 + 4*4 + 10*10
i = 2
j = 4
k = 6
l = 8
Product of 30 and 4 can be written as sum of squares of i, j, k, l
120 = 2*2 + 4*4 + 6*6 + 8*8```

My Personal Notes arrow_drop_up
Related Articles