Well, one thing you could do to save time and effort is to eliminate the number from consideration as a perfect square by verifying quickly that it isnt one. What I mean is, Im not going to extract the root, nor am I going to verify if a number is a perfect square, but I am going to verify that a number is NOT a perfect square. Some of these hints are almost effortless, you can run these as a precursor to any more complicated algorithm. After all, it makes no sense wasting time and effort on a complicated algorithm when you can prove a number is not a perfect square with a simpler one.
So, you need to know some of the cool and interesting properties of perfect squares, if you dont already.
Firstly, all perfect squares end in the numbers 0, 1, 4, 5, 6, or 9. This is a necessary condition. So, if your test number ends (units digit) in a 2, 3, 7, or 8, this is sufficient to say that the number is not a perfect square. For example, the number 934,52 3 is obviously not a perfect square. See that? With this rule we've already eliminated two-fifth of all possible numbers.
Any perfect square ending in 0, or a set of zeros, must contain an even number of terminating zeros. So if the number of zeros trailing the least significant digits of an integer are in odd quantity, it is not a perfect square. 57,000 is not a perfect square. If there is an even number of zeros, you can ignore them entirely and reduce your test number to the digits that precede the string of zeros - we can test 640,000 for perfect squareness by testing just the 64.
The last two digits of a test number cannot both be odd. 34,833,8 73 is not a perfect square.
If the test number ends in a 1 or a 9, the number preceding it (not the digit, but the entirety of the number as a number unto itself) HAS to be a multiple of 4. Examples include 81, and the number 57,12 1 (because 5,712 is a multiple of 4).
If the test number ends in a 4, the digit preceding it has to be even. If not even then not a perfect square. 23,0 7 4 is not a perfect square.
If the test number ends in a 6, the digit preceding it has to be odd. If not odd then not a perfect square. 56,8 4 6 is not a perfect square.
If the test number ends in a 5, the digit preceding it has to a 2. Furthermore, the digit(s) preceding that 2 has to be either a 0, another 2, or the digits 06 or 56. The number 33 1,62 5 is not a perfect square.
All perfect squares are equivalent to 0 or 1 (mod 3). That is, when divided by 3 there is always either a 0 or a 1 remainder. So if you get a 2, you don't have a perfect square.
All perfect squares are equivalent to 0 or 1 (mod 4). Similar to above. So if you get a remainder of 2 or 3 you know you don't have a perfect square. But just because you do get a 0 or a 1 does not mean you have a perfect square. For example, 236,194 is equivalent to 1 in mod 3, but in mod 4 it's equivalent to 2, and so it is not a perfect square. The number 13 is equivalent to 1 in both mod 3 and mod 4, but it is not a perfect square.
Dont waste your time on mod 4 test, though, when you can do a mod 8 instead. It provides you with the same, but more information. A perfect square must be equivalent to 0, 1, or 4 in mod 8. If you get a 1 then your root is odd, if 0 or 4 then the root is even (assuming there is a perfect square root). If 0, though, the root is a multiple of 4. If the remainder is 4 then the root is just even, not a multiple of 4.
This one takes some explanation. We are looking for what's called the "digital root". A digital root is the single-digit number you get when you add up all the digits of your test number. And add up all the digits of the sum you get. And add up all the digits of THAT sum. So on. Until you are left with only one digit. By the way, this is an equivalent test to mod 9 remainders. All perfect squares have a digital root of 1, 4, 7, or 9. If your digital root is 0, 2, 3, 5, 6 or 8 then it is not a perfect square. The number 56,430,143 is not a perfect square; I know because 5+6+4+3+0+1+4+3 = 26, and 2+6 = 8.
In mod 13, all perfect squares are equivalent to 0,1,3,4,9,10,12; and in mod 7 they must be equivalent to 1,2,4. FYI.
At this point, if your test number has not failed any of the tests, then and only then would I put the resources into root extraction or complicated algorithms. These tests above use little more than comparison, conditionals, counting, and single-digit additions.
I hope this information helps you and others wanting guidance on this.
Id also like to point out that any prime factor of your test number that comes in an odd multiplicity is also not a perfect square. This is a more time consuming approach though. You need only check primes between 2 and sqrt(n). If you find a prime that divides into n, but does so only an odd number of times, you do not have a square number.
Another tidbit is that all integers can be factored into its integer factors, including 1 and itself. If this list comprises of only unique factors then this rule applies. Non-perfect squares have an even number of factors because they come in pairs, one on either side of the square root. But perfect squares have an odd number of unique factors, since its square root is counted once. Unfortunately this test is a bit useless since it entails finding a list of factors which include the square root itself.