When you're estimating, much depends on whether you're doing something already proved, or whether you're really doing R&D. If the latter, then estimates are always going to be very rough. Most of my work is of the latter kind.
The client are aware that if they come to me with a problem, that I'll give my best guess, but that an accurate estimate will only arrive once I've done some proper analysis. I've also educated them that every estimate has a certainty factor, and the deliver date has a probability curve. I.e. if I say it'll take me 10 days, with a high uncertainty, that means, say, 50% chance it'll take 10 days, 25% chance it'll take 9, 11 or 12 days. And there's a 0.0001% chance I'll be able to do it in 30 seconds.
I have occassionally gone back to them after initial estimate and told them that it will take much much longer. They accept this, because they trust me. And they trust me because I tell them when it'll be much quicker than the original estimate.
In your situation I'd just say "Now I've actually had the chance to do some analysis, I think it's possible that I've found a very efficient way of doing this, with minimal changes. Let me just work through it - but it looks promising". Do some really thorough testing and make sure you're right. Sleep on it. Then the next day, if you're still certain, say "It works".