"Brilliant ...This isn't magic -- it's logic -- a puzzle. A lot of the greatest wizards haven't got an ounce of logic, they'd be stuck in here forever."
-- Hermione Granger (PS16)
The so-called “potions riddle” was a logic puzzle set up at Hogwarts to protect the Philosopher’s Stone. The riddle was devised by Severus Snape on the assumption that many brilliant practitioners of magic were very poor logicians.
There were seven potions bottles set up with the riddle written on a piece of rolled-up paper.
"Danger lies before you, while safety lies behind,
Two of us will help you, which ever you would find,
One among us seven will let you move ahead,
Another will transport the drinker back instead,
Two among our number hold only nettle wine,
Three of us are killers, waiting bidden in line.
Choose, unless you wish to stay here forevermore,
To help you in your choice, we give you these clues four:
First, however slyly the poison tries to hide
You will always find some on nettle wine's left side;
Second, different are those who stand at either end,
But if you would move onward, neither is your friend;
Third, as you see clearly, all are different size,
Neither dwarf nor giant holds death in their insides;
Fourth, the second left and the second on the right
Are twins once you taste them, though different at first sight."
- Three bottles contained "killers" or poison, but there was none in the largest (giant) or smallest (dwarf) bottles.
- Two bottles contained non-poisonous nettle wine.
- One potion would take them safely forward through the black fire.
- One potion would send them safely back through the purple fire.
Hermione figured out the answer, which was to drink the potion in the smallest bottle, but there was only enough for one and Harry decided it should be him. Hermione drank a different potion and went back to get Ron in the room with the Giant Chess Set (PS16).
In CC1.19, Hermione uses a riddle as an obstacle in the way of getting the Time-Turner hidden in her bookcase. It may be a nod to her skill with this riddle in PS.