Given a set of numbers which return a response code, how can I find the algorithm used to produce the response? I'm working on a problem where I provide an 8 digit integer and a 16 digit integer, then a 10 digit integer response is produced.
For example 12345678 and 1234123412341234 produces 138259849
The same inputs always produce the same output.
Is it possible to find the algorithm used to calculate the response?
There is demonstrably no general solution to this class of problems. Argument: we can construct the output as a Message Authentication Code (e.g. HMAC) of the other inputs, with a random secret fixed key; and what's asked is breaking the MAC.
This class of problems is not modern academic cryptography, which assumes the algorithms are known, only the keys are secret. That's per Kerckhoffs's principle (or really, the modern reading of his second principle) .
However, sometime it is possible to solve such problem:

When the program that produces the output is available, it can be reverse-engineered¹ (de-compiled, or/and observed running in a debugger). That's often how software copy-protection is broken.
When the device that produces the output is available, telltale signs of what it does internally might leak and allow a side-channel attack.
For some classes of algorithms, including CRCs, there are general attack techniques given a number of input/output pairs.


¹ If the algorithm is simple enough. It is possible to make a program that implements a function in essentially the shortest possible way, by using it's own code as key. This program is the canonical form of the algorithm. It can sill be ported to another CPU, with enough memory.