Pergunta de entrevista da empresa Microsoft

Design an algorithm for creating a puzzle.