Using Bellard's formula for calculating $\pi$?
You should see how BBP formulas are used to extract the $p$-th digit.
The Bellard's formula, when truncated to $m$ terms will give you a rational number $r_m$, approximating $\pi$.
Suppose we are interested in finding $p^\text{th}$ binary digit of $\pi$. Choose $m$ is sufficiently large, so that $| \pi -r_m | \leqslant 2^{-p}$. In order to extract the digit, we need to compute $d_p = \lfloor 2^p r_m \rfloor \bmod 2$.
Consider $$ 2^{p-1} r_m = \sum_{n=0}^\infty (-1)^{n} 2^{p-1-10n} \Big( \frac{4}{10 n+1}-\frac{1}{10 n+3}-\frac{1}{2 (4 n+1)}-\frac{1}{2^4 (10 n+5)}-\frac{1}{2^4 (10 n+7)}+\frac{1}{2^6 (10 n+9)}-\frac{1}{2^6 (4 n+3)} \Big) = \Sigma_1 - \Sigma_2 - \Sigma_3 - \Sigma_4 - \Sigma_5 + \Sigma_6 - \Sigma_7 $$ Now the trick is not to compute the digits which precede the $p$-th one. To this end one splits the sum into 7 pieces. We consider just one: $$ \Sigma_1 = \sum_{n=0}^\infty \frac{(-1)^{n} 2^{1 +p-10n} }{10n+1} $$ Not computing the preceding digits is equivalent to only retaining the fractional part. This is done by computing the numerator modulo the numerator: $$ \sum_{n=0}^\infty \frac{(-1)^{n} 2^{1 +p-10n} \bmod (10 n+1) }{10n+1} $$
Here is a little Mathematica code for Bellard's algorithm:
Sigma[p_Integer, a_Integer, b_Integer, c_Integer, prec_] :=
Module[{sum = 0, prev, den, n = 0, num, exp,
bprec = 1 + prec Log2[10.]},
While[True,
den = a n + b;
exp = c + p - 1 - 10 n;
If[exp > 0,
num = Mod[PowerMod[2, exp, den], den, 1],
num = 1; den = den*2^(-exp);
];
prev = sum;
sum += Divide[(-1)^n SetPrecision[num, prec], den];
If[sum - prev == 0 && exp < -bprec, Break[]];
n++
];
sum
]
PthPiDigitBellard[p_Integer?NonNegative, prec_: MachinePrecision] :=
Floor[2 Mod[Sigma[p, 10, 1, 2, prec] - Sigma[p, 10, 3, 0, prec] -
Sigma[p, 4, 1, -1, prec] - Sigma[p, 10, 5, -4, prec] -
Sigma[p, 10, 7, -4, prec] + Sigma[p, 10, 9, -6, prec] -
Sigma[p, 4, 3, -6, prec], 1]]
In[166]:= {Table[PthPiDigitBellard[k, 20], {k, 1, 60}], 0} ==
RealDigits[Pi, 2, 60, -1]
Out[166]= True