How to mathematically and/or programmatically find if an integer can't be written as a sum of defined integers? How can you mathematically and/or programmatically find if an integer can't be expressed as a sum of defined integers?
For example, defined integers are 3, 7, 37 and 73.
Now let's say that you need to find if certain number under 200 can't be written as a sum of defined integers. Like, check if what is the highest number that can't be written using defined integers.
How could this be done?
I found a similar question but there is no answer there and it's not exactly what I want.
Thanks in advance!
 A: You can program a solution to that problem, it is called the subset sum problem. Sadly the problem is NP-complete which means that there is no known polynomial time algorithm to solve it. 
You have 2 options, you can use the "bruteforce" decision tree solution which is $\mathcal{O} (2^N)$ where N is the number of "defined" numbers. 
You can use the dynamic programming solution which has a runtime of $\mathcal{O}(sN)$ where $s$ is your target sum and $N$ is the number of "defined" numbers (even though this looks polynomial, it is actually exponential in the number of bits needed to describe it). 
With your given example both of the solutions would be sufficient. But once you start making your list of "defined" numbers bigger, the dynamic programming solution should be used.
A: Thank you all for answering!
Found my solution! I used subset sum problem C# algorithm I found and modified my list. 
If I have 3, 7, 37 and 73 in my list, the algorithm will not return true if int passed in is 6, because it will not try 3 + 3, only 3 + 7 etc. That means it can't solve bigger numbers than the sum of a list (120). So I used a for loop and made my list contain like ten threes, ten sevens and so on.
Here's the code I used.
Console prints out "Biggest number that doesn't contain 3, 7, 37 nor 73 is 11".
Math & programming rules!
