QBIC, 3131 23 bytes
Just noticed the requirements changed. This version doesn't check if the snail will ever reach the top of the well.
≈:-:>0|q=q+1┘a=a-b+:]?q
The explanation below, for the original version that does check if a solution exists, covers all relevant parts of this code too.
Original, 31 byte answer:
~:>:|≈:-a>0|q=q+1┘c=c-a+b]?q\?0
##Explanation
~ IF
: cmd line arg 'a' (the increment of our snail)
> is greater than
: cmd line arg 'b' (the decrement, or daily drop)
| THEN
≈ WHILE
: cmd line arg 'c' (the height of the well)
-a minus the increment (we count down the hieght-to-go)
>0| is greater than 0 (ie while we haven't reached the top yet)
q=q+1 Add a day to q (day counter, starts at 1)
┘ (syntactic linebreak)
c=c-a+b Do the raise-and-drop on the height-to-go
] WEND
?q PRINT q (the number of days)
\?0 ELSE (incrementer <= decrementer) print 0 (no solution)
Try it online! (OK, not really: this is a translation of QBIC to QBasic code run in repl.it 's (somewhat lacking) QBasic enviroment)