What does it mean to be a good programmer? If you can solve any problem that's solvable, but your code is impossible for anybody but you to understand, are you a good programmer?
I've seen code written by geniuses that's efficient at solving the problem at hand, but still full of bugs -- basic sorts of bugs like checking for an error then doing nothing about it, double-deletion, resource leakage...
And some of the worst code from an engineering standpoint that I've ever seen, was written by computer science professors.
I think a better implication would be "good at math => good at computer science," but computer science is not the same thing as programming.