How can I calculate the decimals of a number like this? I have a huge number like $(3\sqrt{5}+2)^{200}$ and I want to find the first 200 decimals.
Obviously I don't want to calculate the full number. I would rather an efficient numerical technique or a way to find a number with the same decimals and calculate that(I don't know if that's possible though).
Edit: I already have the number(different integer numbers than above but same structure), I have found that the first 114 decimals are 9's. Is there an analytical way to prove that the decimals are repeating 9's??
 A: IMHO, the easiest way for one single entry is to put your line into the WolframApha bar and then just click 3 or 4 times on the "More digits" button. It will take only a few seconds and then you can Copy-Paste the output into any program/file you wish: https://www.wolframalpha.com/input?i=%283*sqrt%285%29%2B2%29%5E200
A: Here's a simple algorithm (coded in Python) to find upper and lower bounds on the square root of a number, in terms of the arbitrary-precision Fraction class.  It uses the native floating-point sqrt for its initial bounds, then the Secant Method to refine the guesss.
from math import sqrt
from fractions import Fraction

def sqrt_bounds(x, num_iterations):
    float_sqrt = sqrt(x)
    lo = Fraction(float_sqrt * 0.99999999)
    hi = Fraction(float_sqrt * 1.00000001)
    for _ in range(num_iterations):
        root = (x + lo * hi) / (lo + hi)
        if root ** 2 >= x:
            lo = root
        else:
            hi = root
    return (lo, hi)

Using 1000 iterations of this method, we can calculate $\sqrt{5}$ to within an absolute error of $5.6 \times 10^{-25}$.  From this, we can get upper and lower rational bounds on $(3\sqrt{5} + 2)^{200}$.
