Matlab and Mathematica are good options, as above. You might also give F# a try. It is a functional language a lot of fun.
You might enjoy solving some of the problems over at Project Euler (http://projecteuler.net). The top languages used for that sort of mathematical programming according to their statistics currently are: Mathematica, PARI/GP, Python, Haskell, APL/J/K, C/C++, Perl, Sage, Java, Ruby, C# (in that order).
All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.
A speaker recently gave a talk at the university I attend on a language he had created called Frink. It's great when dealing with measurement conversions, which it could do on the fly. It was also very good with dealing with large numbers.