Well, I managed to find the time to write some more words
In the last Solve you use, there are large numbers. If you remove the N[] from your expression you will notice that immediately. Therefore you need to help N[] by giving it the second parameter
N[...,20] will suffice too.
you can also replace Solve with NSolve, just remember to set the WorkingPrecision option of this function to, e.g., WorkingPrecision -> 20 or alike
HTH
yehuda