A* finds the shortest possible path, but even on the 15 Puzzle, it is impossible to store all the states of the game in memory. Therefore, other variations of A* must be used to reduce memory requirements. An example is IDA*, which uses a technique called iterative-deepening.