When messing around with qiskit.org's article on Sudoku solving with Grover's algorithm, I noticed that removing the uncomputation step in the last iteration of the algorithm worsened the likelihood to get valid solutions from running the program. This seems unintuitive, as the uncomputation step had previously been described as a way to reset ancillary qubits to their original state ahead of the next iteration of the algorithm. Since we can discard the ancillary qubits at the end of the calculation, it would seem that uncomputation isn't necessary for the last iteration of the algorithm, however this does not seem to be the case experimentally. Why?
My guess is that it has something to do with entanglement and phase kickback when the output qubit is set to |->, but I can't wrap my head around as to the specific reason for this effect.