I am trying to see if there is an efficient poly-time method of computing the $n^{th}$ digit of massively large integer products, where it would take even a fast computer an absurdly long time to multiply out the two integers in full.
Suppose I wish to know only what digit lies in the $10^{1000000}$ place of the product of an integer with 50,000,000 digits by another integer with 1,000,000 digits. I do not care about any other digits in the product. Can this be done in polynomial time?
Mathematically, given two integers $j$ and $k$, does there exist a general algorithm/formula to compute only the $n^{th}$ digit of $jk$ without ever computing the full product $jk$ or computing the lowest $n$ digits of $jk$? The only knowns are $j$ and $k$ and (obviously) how many digits are in each.
If so, how would such a formula or algorithm compare in complexity to just performing the full multiplication and extracting the digit from the result? How would it compare to computing only the first $n$ digits of the product and extracting the topmost digit?
This post attempted to answer this question, but I am unable to find an explicit formula or algorithm, only the general idea behind their approach. I am looking for a straightforward method, such as $X[n] = ???$