Assuming you only want the sense where they are similar - since tackle and work out have other meanings:
to tackle is to take on, or attempt - usually something that is non-trivial. There is therefore no guarantee of being able to finish it.
To solve is to find the answer to a problem. You can solve a puzzle, or solve a crime - i.e. find out who committed it, and how. It may take some work, or it may be quite simple - for someone at least.
To work out is similar to solve. The difference would be that 'work out' suggests a bit more work than solve. It could be calculation, or working with people to solve a problem.
You need that building demolished? I will tackle that.
I solved that crossword clue the second I saw it.
We need to work out how to get the car started.