My opinion is that it should work on a sliding scale. Each run should have a progressively higher chance to yield the drop until you finally get it. Say a system like this:

Include a line of code in the quest code block that keeps track of the number of times you've cleared the dungeon, but not gotten the item. A counter starts with an initial value of 3, and increments by one each time you clear, but don't get the item. The chance of receiving the item is equal to 5%, multiplied by the value of the counter.

So on attempt #1, you have a 15% chance to get the item. Didn't get it? Counter increments to 4. Attempt #2 has a 20% chance instead of 15%. Still didn't get it? Counter increments to 5. Attempt #3 you have a 25% chance to get the item... and so on, with no upper limit to how high your percent chance can become. Eventually you would become guaranteed to get the drop.

RNG would still be a factor, but after enough consecutive attempts, you eventually get it for sure.