Originally Posted by wossname
Between each digit you can have one of three things:
"+"
or
"-"
or
""
So that gives you 6561 possible equations, the vast majority of which do not equal 100.
Brute forcing this would be the easiest algorithm but the execution time would be terribly slow. It would be exponentially computationally expensive if you used a larger radix (hexadecimal or base32 etc).
Depends if you want to find ANY single correct answer or ALL correct answers.
You could always use a Genetic Algorithm or a Monte Carlo method, those would both certainly be very efficient for this puzzle if the radix is not specified before-hand.