In my computer programming and administration experience and observation, the biggest difference between American and (typically) Indian programmers is discipline. Advanced math skills matters far less in the majority of programming positions than do discipline and productivity.
I think fewer programmers, particularly disciplined, productive programmers, are turned out in America because it's just not really FUN. FUN is what life's all about, right?
I’m not a programmer, but I’m guessing part of the deal is that in the US, programming is looked at as an Art, while in India and elsewhere it is viewed as a Science.