Minishark:
Finding bugs is certainly challenging, but my favorite challenges are things like architecture/system design. It's very challenging, and I find it a lot more fun than debugging. But I agree that finding a nasty bug can also be very rewarding.
As for math requiring logical thinking, maybe this is a subjective thing but I just don't see it. The only math I took in college that required logic was
Discrete Math, and I remember our professor telling us that people good in Calc often strugle with Discrete Math because it's completely different. In Calculus we just had to memorize a whole bunch of patterns, and be very good at rearranging polynomials (to a certain pattern) so we could solve an integral. Differential Equations was also about memorizing patterns to solve the differential equations. Physics was largely about memorizing formulas, and knowing which formulas to use in which situation. At least that's what I remember..
Personally I was never good at Calc, and worse at Diff Eq. and I've never used any of those skills since college. So I'm one of those kids who thought he's good at programming, and managed to struggle through four years of engineering school math to get a piece of paper that says that I really am good at it.

Maybe I'm an exception, but I doubt it.