I cannot confirm if the values are correct or not because my math is... well I went to public school, lets just leave it at that.

However, regarding the values not lining up in vb.net, my gut reaction is that there is a rounding error somewhere and it looks like you're mixing decimal/double in a few places.