Calculating Square Roots Without a Calculator
Most people learn one method in school and assume that's the only way. It isn't. The method you pick depends entirely on whether you need speed, accuracy, or just an answer that's "good enough." I'll walk through the practical approaches, what actually works in real situations, and where each method breaks down. The most common method people encounter is the long division-style algorithm, sometimes called the digit-by-digit calculation method. Here's how it actually works in practice. Take the number 5476 as an example. Start by grouping digits in pairs from the decimal point: 54 | 76. Find the largest integer whose square is less than or equal to the first group. That's 7, because 7² = 49. Subtract 49 from 54, which gives 5. Bring down the next pair (76), so you're working with 576. Now double your current answer (7 × 2 = 14), and find a digit x such that 14x × x 576. That digit is 4, because 144 × 4 = 576. The answer is 74. Check: 74² = 5476. Correct.
This method is tedious by hand but extremely reliable. It produces exact results for perfect squares and converges steadily for non-perfect squares. I used it extensively in undergrad numerical analysis courses before calculators were allowed on exams. The problem is it eats time. Each digit of precision costs roughly 30-45 seconds of careful arithmetic by hand. Getting five decimal places on something like 2 takes about eight minutes of focused work, and you can still mess it up if your subtraction drifts. The Babylonian method, also called Heron's method, is what I actually use when I need a quick mental estimate or when writing code. It's an iterative approach based on the idea that if x is too high for S, then S/x is too low, so their average is closer to the truth. The formula is simple: x_{n+1} = (x_n + S/x_n) / 2. You start with any reasonable guess and repeat until the result stabilizes. For 5476, start with a guess of 70. That gives (70 + 5476/70) / 2 = (70 + 78.29) / 2 = 74.14. One more iteration: (74.14 + 5476/74.14) / 2 = (74.14 + 73.86) / 2 = 74.00. It converged in two steps. For most practical purposes, two or three iterations from a decent initial guess gets you machine precision. This is why it's built into virtually every calculator and programming language's math library.
The key insight most people miss is that your initial guess matters more than you'd think. If you start reasonably close, convergence is nearly instantaneous. The number of correct digits roughly doubles with each iteration—that's called quadratic convergence. Start too far off and you waste iterations, though it will still converge eventually unless your guess is exactly zero. Here's where things get tricky in practice. I ran into a case a few years back working on a graphics rendering pipeline where I needed to compute (x² + y²) for thousands of pixel coordinates per frame. The naive approach using the Babylonian method was too slow at 60fps. The standard trick here is to use a fast inverse square root approximation—essentially a lookup table combined with a single Newton-Raphson refinement step. This was popularized by id Software's Quake III source code. You compute 1/x faster using bit-level hacking on floating-point representations, then invert the result. It trades a tiny amount of precision for a massive speed gain, which is exactly what you want when you're processing millions of values per second. For hand calculations where accuracy matters more than speed, the continued fraction representation of square roots is elegant but underutilized. Square roots of non-perfect squares produce periodic continued fractions. For example, 2 = [1; 2, 2, 2, ...] where the 2 repeats forever. The convergents—1, 3/2, 7/5, 17/12, 41/29—give increasingly accurate rational approximations. This isn't practical for everyday use, but it's genuinely useful in number theory and cryptography work where you need to understand the structure of irrational numbers rather than just approximate them numerically.
Get the Full Details

A common pitfall I see people run into is assuming the Babylonian method works the same way for all types of numbers. It doesn't. For negative numbers, you're dealing with complex numbers now, and the method still works but you need to track the imaginary component. For extremely large numbers, floating-point precision becomes a real constraint. I once tried computing (10^30) by hand using the long division method and hit a wall around the twentieth digit because my arithmetic errors compounded. The method is theoretically exact but practically limited by human error. That's when I switched to a spreadsheet with arbitrary-precision libraries. Another thing worth noting: the long division method and the Babylonian method serve different purposes. The long division approach is algorithmic and transparent—you can see every step, which makes it useful for teaching and for situations where you need to verify a result without a black-box calculator. The Babylonian method is computational and efficient but less intuitive about why it works. Neither is inherently better. Pick the one that matches what you're actually trying to do.
When Standard Methods Fail
There are edge cases where all of these break down. One is when you need to compute square roots in modular arithmetic, which comes up in cryptographic applications. The standard numerical methods don't apply at all. Another is when working with symbolic expressions—computers algebra systems handle this differently, often leaving the square root in factored form rather than evaluating it numerically. For most people asking this question, the Babylonian method is the right answer. It's fast, it's accurate, and it's easy to implement. Write it as a four-line function in whatever language you're using, feed it a reasonable starting guess, and let it iterate twice. You'll have more precision than you need.