Lagrange’s four square theorem in C++


In this tutorial, we are going to learn about largrange's four square theorem.

The lagranges's four square theorem states that every natural number can be written as sum of squares of 4 numbers.

The following code finds the 4 numbers which satisfies the above condition for the given number n.

Example

Let's see the code.

 Live Demo

#include <bits/stdc++.h>
using namespace std;
void printSquareCombinations(int n) {
   for (int i = 0; i * i <= n; i++) {
      for (int j = i; j * j <= n; j++) {
         for (int k = j; k * k <= n; k++) {
            for (int l = k; l * l <= n; l++) {
               if (i * i + j * j + k * k + l * l == n) {
                  cout << n << " = " << i << "*" << i << " + " << j << "*" << j << " + " << k << "*" << k << " + "<< l << "*" << l << endl;
               }
            }
         }
      }
   }
}
int main() {
   int n = 25;
   printSquareCombinations(n);
   return 0;
}

Output

If you run the above code, then you will get the following result.

25 = 0*0 + 0*0 + 0*0 + 5*5
25 = 0*0 + 0*0 + 3*3 + 4*4
25 = 1*1 + 2*2 + 2*2 + 4*4

Conclusion

If you have any queries in the tutorial, mention them in the comment section.

Updated on: 09-Apr-2021

239 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements