PromptCoT: Synthesizing Olympiad-level Problems for Mathematical Reasoning in Large Language Models