Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Can you find the square root of n using only +, -, :, x ?

  1. Apr 8, 2012 #1
    Is it possible to find √n using only the times table and the 4 operations?
     
  2. jcsd
  3. Apr 8, 2012 #2

    Office_Shredder

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Using only finitely many such operations, you cannot. For example taking the square root of two, after any such calculations you will be stuck with a rational number when you wanted an irrational one. You can calculate very good approximations though
     
  4. Apr 8, 2012 #3
    It is possible:

    if n = x² , digits up to 6, : you can find (in most cases) the exact result using no tools,
    [likewise, you can find in all cases : [itex]\sqrt[3]{x³} [/itex] (9-digit n), and [itex] \sqrt[5]{x^5}[/itex] (15-digit n)]
    if n = x² , digits > 6, : you can still guess three digits and get x with a few operations,

    with a pocket calculator you can get any root in a few seconds. Can you believe that?
     
    Last edited: Apr 8, 2012
  5. Apr 8, 2012 #4
    You can find the square root of a number a as the limit point of the following iterative procedure:
    [tex]
    x_{n + 1} = \frac{1}{2} \, \left( x_n+ \frac{a}{x_n} \right)
    [/tex]
    However, as this is a limiting process, you can only get an exact result in the infinite limit [itex]n \rightarrow \infty[/itex]. The convergence is fast though, and you get a good approximate result in just several iterations. Actually, you will exhaust the number of digits on your calculator pretty fast.
     
  6. Apr 8, 2012 #5
    That is the Babylonian method, according to wiki. Is there a general algorithm that does not use powers of the same order (k) of n = x^k ?

    Cam you find[itex]\sqrt{403225}[/itex] using only logics, knowing that n= x²?
     
    Last edited: Apr 8, 2012
  7. Apr 8, 2012 #6
    Why didn't you guys mention Taylor series? It's very easy to calculate the square-root with a series:

    (1+x)^n = 1 + n x + n(n-1) x^2/2! + n(n-1)(n-2) x^3/3! + ...

    Substitute n with 1/2 and there you got the square root. Keep adding terms till you get the precision that satisfied you.

    That's actually how computers calculate square-roots.

    http://en.wikipedia.org/wiki/Taylor_series
     
  8. Apr 8, 2012 #7

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    It depends on what you mean by "find".

    For example, for many purposes, an algorithm to produce arbitrarily good approximations (e.g. the method in this post) counts as "finding" the number.
     
  9. Apr 8, 2012 #8

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Reference? I find this claim rather unlikely....
     
  10. Apr 8, 2012 #9

    Office_Shredder

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Are you sure about that? Taylor series are typically not a very fast way of calculating the function they are approximating. And your Taylor series only converges for |x|<1 which is pretty limited (the wikipedia article on 'calculating square roots' mentions how to adapt for this but also says the method is fairly slow compared to the others mentioned)

    logics, if you just want the square root of something you know is an integer you can just use a binary search to find the square root without doing anything but multiplication a lot of times. For example to find the square root of 403225:

    5002 = 250000 so we need a bigger number
    7502 = 562500 so we need a smaller number. We try one in between these two:

    6252 = 390625 so we need a number between 625 and 750
    6872 = 471969

    We need a number between 687 and 625
    6502 = 422500

    We need a number between 625 and 650:
    6372 = 405769
    We need a number between 625 and 635
    etc, we find the square root is 635.



    This technique can also be used to find the square root of any number to whatever precision you want, for example if you want the square root of 403226, we know that it is larger than 635 and smaller than 636. So we try 635.5, and if the square is too large, 635.25, and if the square is too large 635.125, and eventually when the number squared is smaller than 403226 we have a bound for the square root (and at that point we can keep dividing the interval in half in order to get more precision)
     
  11. Apr 8, 2012 #10

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Is it cheating to use the operation "<"?
     
  12. Apr 8, 2012 #11
    What operation is that? What is the output of such an operation?
     
  13. Apr 8, 2012 #12

    Office_Shredder

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    It's a binary operation, which takes two inputs a<b and returns 1 if a is smaller than b, and 0 otherwise. Hurkyl was noting my tremendous reliance on it in my example despite it not being one of the permissible operations in the original post. I can't figure out a workaround either
     
  14. Apr 8, 2012 #13
    your example is the midpoint method for solving the equation [itex]x^2 - a = 0[/itex]. The Babylonian method is nothing but the Newton-Raphson method for solving the same equation.
     
  15. Apr 9, 2012 #14
    When I say can you find x =[itex]\sqrt{635²}[/itex] using only logics I mean using only your mind, knowing by heart the times table, using no calculator, no pencil and paper.
     
  16. Apr 9, 2012 #15

    Mentallic

    User Avatar
    Homework Helper

    I guess...

    [itex]635^2=403,225[/itex] just for reference.

    So we're trying to find the answer of [itex]\sqrt{403,225}[/itex]. We know that since [itex]100^2<403,225<1000^2[/itex] then the answer will be a 3-digit number that we will denote as ABC.

    To find the hundreds value, A, just realize that the first 2 digits of 403,225 are 40, and that is between 62 and 72 so A=6.

    For C, the last 2 digits are 25, so I'd guess that it would be 5.

    To find B - arguably the trickiest of all - I guess I'd flex my brain muscles by not pulling out a pen and paper and expanding (600+10B+5)2 in my mind, and scrapping all the values except the relevant ones that would be the biggest influence on the ten-thousand's value in the answer.

    So [tex](600+10B+5)^2=(600+(10B+5))^2=600^2+1,200(10B+5)+(10B+5)^2[/tex]

    Clearly the influence would be that middle term [itex]1,200(10B+5)[/itex]

    So now let's do some simplifications. [itex]1,200(10B+5)>12,000B[/itex] and [itex]403,225-360,000 \approx 40,000[/itex] and then [tex]3<\frac{40,000}{12,000}<4[/tex] and so I would make the logical guess that B=3.

    Thus, ABC = 635
     
  17. Apr 9, 2012 #16
    Well done, Mentallic, if you can manage all that in your mind!
    But you must find something simpler if you want to solve the challenge in the twin-thread about the cube root... (try to find x = [itex]\sqrt[3]{723³}[/itex]).
    If you do not wish to move on to that thread, here is a slightly tougher [but still easy] challenge: find x = [itex]\sqrt{277729}[/itex]
     
    Last edited: Apr 9, 2012
  18. Apr 9, 2012 #17

    Mentallic

    User Avatar
    Homework Helper

    With a bit of practice, I could answer the square root problems more efficiently, as long as they're either 4 or 6 digits, which is pretty narrowed down and a useless skill to have if you ask me.

    And obviously I'd have little luck extending it to the cube roots.
     
  19. Apr 9, 2012 #18

    disregardthat

    User Avatar
    Science Advisor

    Do you "find" sqrt(2) by the operation sqrt?
     
  20. Apr 9, 2012 #19
    Practice [or luck] is not needed, only an efficient method, algorithm i.e.: logics.

    We have, so far, 3 or 4 methods:
    Taylor is probably the worst, Newton [(x * x) -a] : 2 * x requires 4 operations per round (so does O.Shredder), Babylon (x + a : x) : 2 requires only 3;
    can you find an algorithm that requires only 2 operations per round?

    If a = x²,x³... (x need not be an integer) you can find x easily bearing in mind a few rules, or performing only a couple of simple (2-3 digit) subtractions or divisions (perhaps with a pencil, if one wishes not to strain one's brain).
    You have been very clever working out A, where http://wiki, as a rough extimate for [itex]\sqrt{125348}[/itex], instead of 3[00] gives a poor 6[00]. You had more luck than wiki? You have more practice? Surely not, they have a poor algorithm!

    If you work out the right pattern, you'll discover that [itex]\sqrt[3]{x³}[/itex] is easier and that [itex]\sqrt[5]{x^5}[/itex] is even easier: you can easily find x even when many digits are missing.
     
    Last edited: Apr 9, 2012
  21. Apr 10, 2012 #20
    That is a good method, Dickfore, do you know the Bakhshali method? Does it converge faster than Babylon, as wiki hints?

    Can anyone work out how many operations are required to find:
    x = 7123456789² ?
    Starting with x0 = 7x 10^9 Babylon requires (3 x 3 =) 9 operations
     
    Last edited: Apr 10, 2012
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Can you find the square root of n using only +, -, :, x ?
  1. Finding the square root (Replies: 14)

Loading...