# How to break a number down into 4 squares

1 view (last 30 days)
John Smith on 30 Nov 2016
Commented: John D'Errico on 30 Nov 2016
Hey, I'm pretty new to MATLAB, and am thinking of creating a short function which would help me visualize Lagrange's 4 square theorem. I've figured out that to break down the number into 4 squares, if it is for example n = x^2+y^2+z^2+r^2, then i should specify each number, such that 0=<x=<n/2, then 0<=y<=x/2 and so forth (the mathematical background behind it). Any tips on how I can get this into matlab (just looking for some tips so I know where to start from).
Immense thanks to anyone who helps!
Alexandra Harkai on 30 Nov 2016
This is not a MATLAB question, by the looks of it, unless you already have a particular algorithm in mind that you are looking to implement.

Alexandra Harkai on 30 Nov 2016
Such a breakdown (each output number should be at most the half of the previous one) does not always exist, take 23 for example:
23 = 3^2 + 3^2 + 2^2 + 1^1
So the algorithm you want would not be able to return the 4 output numbers the way you specified.
Let me reiterate that I think this is not even a MATLAB question. The real question is what you want the algorithm to do exactly, which has nothing to do with MATLAB.
John D'Errico on 30 Nov 2016
+1

John Smith on 30 Nov 2016
Indeed, I have made a mistake in my assumptions, but nevertheless the framework Ganesh has given me is a good starting point. As soon as I edit my algorithm, I should be able to figure out the MATLAB part now.
Thanks for the help!