Turning my comment into an answer, one option is to read through the Wolfram page titled "Some Notes on Internal Implementation", which gives some detail about the implementation of many functions.
It is definitely worth noting the introduction to that page though (my own emphasis):
General issues about the internal implementation of the Wolfram
Language are discussed in "The Internals of the Wolfram System". Given
here are brief notes on particular features.
It should be emphasized that these notes give only a rough indication
of basic methods and algorithms used. The actual implementation
usually involves many substantial additional elements.
Thus, for example, the notes simply say that DSolve
solves
second-order linear differential equations using the Kovacic
algorithm. But the internal code that achieves this is over 60 pages
long, includes a number of other algorithms, and involves a great many
subtleties.
Indeed, further down the page:
Integrate
uses about 500 pages of Wolfram Language code and 600 pages of C code.
DSolve
uses about 300 pages of Wolfram Language code and 200 pages of C code.
So there is a lot going on under the hood, and you might not always be able to answer your readers' questions fully.
Method -> Automatic
, Mathematica will often perform a number of heuristics and then select an algorithm it thinks is appropriate. If you need to be able to say "I used method so-and-so", you will have to provide an explicit setting. $\endgroup$ – J. M.'s ennui♦ Jun 11 '15 at 10:19