Techniques Of Problem Solving by Steven G. Krantz