Techniques of problem solving - Krantz Steven G. (American Mathematical Society, 1997)