This is NP-hard, by reduction from the partition problem.
Consider the decision problem version of your problem: given $S,n$, is there at least one way to reach a sum of $n$ using the integers from $S$ (possibly multiple times).
Suppose I have a partition instance, a set $T$ where I want to know whether it can be partitioned into $T_1,T_2$ such that the sum of $T_1$ equals the sum of $T_2$. Let $c$ be a very large constant, and define $S=\{t+c : t \in T\}$ and $n=(m+|T|c)/2$ where $m$ is the sum of all of the numbers in $T$.
Then the answer to the decision problem is yes if and only if the answer to the original partition problem was yes.
You should be able to fill in the details from here (including, in particular, how to choose the constant $c$, based upon $T$).
See also https://cstheory.stackexchange.com/q/19758/5038.
Of course, the problem may still be easy for many $S$; there may even be infinite easy subclasses. See also Dealing with intractability: NP-complete problems for more on strategies for what to do, when you have a problem that is NP-hard but you still have to solve it.