Logic-of-Thought: Empowering Large Language Models with Logic Programs for Solving Puzzles in Natural Language