I am a math tutor and taught this to one student who didn't have a square root button on their calculator (albeit I taught it as a calculator trick rather than mental math). He picked up on it pretty quickly.
You can look at this as linear extrapolation using d[x²]/dx = 2x, which is Newton's Method. Taking √p as your initial guess, your new guess is (√p + s/√p)/2 = √p + (s/√p - √p)/2 = √p + (s-p)/(2√p). You can go for another iteration if you want a really accurate square root, which roughly doubles your number of accurate digits each time: 5.75 + (33 - 5.75²)/(2·5.75) ≈ 5.744565, while the correct answer is closer to 5.74456264653802865980. At that point, though, I think it's probably easier to calculate it as (5.75 + 33/5.75)/2.
You can even use this approach for taking square roots of fairly large numbers, just using the squares of single digits — factor the initial number into a power of 100 and a number between 1 and 100. For example, 80802363 is 80.802363 × 100³, so its square root is close to 9 × 10³.
Example: 22 * 62 = 20(62 + 32) + 22 = 1364. Here you would see that 60 = 3 20, so you add 3 * 2 to 62 to get 68, multiply by 20 to get 1360, and then add 2*2.
Edit: Er, my stars are turning into italics. You get the idea.
Let s be the number whose square root you wish to find, and p be the nearest perfect square. You can then approximate √s ≈ √p+(s-p)/(2√p).
Example: √33 ≈ √36+(33-36)/(2√36) = 6 - 3/12 = 6-¼ = 5¾ = 5.75. Actual √33 = 5.74456…
I am a math tutor and taught this to one student who didn't have a square root button on their calculator (albeit I taught it as a calculator trick rather than mental math). He picked up on it pretty quickly.