I use only the best grout stripper, and spray the entire floor. I then use a buffer to clean the tiles. The grout is scrubbed by hand. If needed, I will use an acid-based cleaner on the grout as well.
I use a patented truck-mounted steam extractor to remove dirt and soap. I let the tile dry for a day and then seal it with an oil-based sealant. If we are unable to clean the grout well enough, we can re-color the grout to any color you choose.