Chemical problem-solving