This comment was posted to reddit on Sep 11, 2019 at 7:00 am and was deleted within 14 minutes.

The big key to this problem is generally trying to split the total into equal groups on each weighing (to eliminate as many packs as safely possible in each round). In each round there can be up to 3 groups, the two groups being weighed and the one group not being weighed, and with that you can at most eliminate 2 groups from any given round.

In the first round you should weigh two groups of 8 leaving the third group of 9 not being weighed. Should one of the two groups of eight weigh more than the other then you know the heavier pack is in that group, and you should take that group to the next round. Should on the other hand the two groups of eight be equal then you know the heavier pack is in the leftover group of 9, and you should take those 9 to the next round. Thus, after one weigh in we have either 8 or 9 potential packs remaining and two weigh ins left (Having eliminated 16 or 17 in this round).

In the second round you should weigh two groups of 3 leaving a third group of either 2 or 3 depending on whether you had 8 or 9 packs left at the end of the previous round. The same logic applies that if one of the groups being weighed is heavier than the pack is in that group (and that group should be taken to the next round), but if the groups being weighed are equal then its in the 2 or 3 leftover packages (and they should be taken to the next round). Thus, after the second weigh in we have either 2 or 3 potential packs remaining and one more weigh in (Having eliminate 5 or 6 in this round).

In the final round you should weigh the remaining packs as two groups of 1 and if you had 3 packs at the end of the prior round leaving a leftover group of 1. If you only had 2 packs left, one of the two will be the heavier pack making you a winner, if you had 3 packs left then there remains a chance the two being weighed are equal making the leftover pack the winning pack making you still a winner. (Having eliminated the final 1 or 2 in this round)