Although there is always some overlap, I think the root difference between the two verbs is thus:
solve means
to explain
resolve means
to separate into component parts
This means that if a situation results in more than one entity, it is
resolved, rather than
solved.
The most obvious example is an
ambiguity, which is
resolved into two or more parts.
But a
problem (especially a mathematical one) is
solved into one solution, (a
solution being that which has been
solved) [no smart comments about multiple solutions to an algebraic equation please

]
A problematic situation can be
resolved if the answer is
two things: OK -
You take the car this morning, and
I'll use it to go shopping when you get back.
In mathematics, a vector can be
resolved into 2 or more components.
A problem can be
solved if it involves
one thing: He solved the problem of starting the car by buying a new battery.
There are probably examples where this doesn't work, but I think the above is generally true.