When I posted this puzzle, I made a stupid mistake resulting from not double checking my thinking. I did not notice this until one user posted an incomplete answer, which was only missing an answer for the part I had goofed up. I upvoted him, and said I would fix the puzzle later, at which point he could solve the revised puzzle, and I could accept. I was busy, and was only able to fix the puzzle very recently. It was immediately answered (fully correctly) by someone else. So now I have the conundrum, what do I do? Do I wait for the original solver to post his revised answer (because it's my fault that he had to revise it), or do I accept the complete answer that the new solver posted?
In general there is no obligation to accept the first correct answer to a question as there may be a subsequent answer which more fully explains the solution.
Where two answers are substantially similar, it is common practice to award the tick to the first person to provide the correct answer. This is not cut-and-dried, though as there are situations where two (or more) people are working simultaneously on an answer and one of them posts a 'placeholder' answer without the full explanation, a second person posts a fully explained answer and then the first poster edits in all of the explanation. In this case is it better to award the tick to the first person to log an answer or the first person to provide a full explanation?
In your case, you have been helped by the fact that the original respondent has edited his answer to reflect your changes. I think he deserves to have his answer accepted as he answered first with as full an answer as was possible and has now edited it to be fully correct. He couldn't have done more.
Had he not edit his answer quickly I reckon that it would have been reasonable to wait a week before marking the other answer as the correct one.