Answer by Bill Straka
The simple answer to the question of when will the GPS vehicles will
return to a given position is "Never." The reason is to be found in the
basics of celestial mechanics. If the satellites were point masses, and
the Earth were
the only gravitational source in the universe, and the Earth had a perfectly spherically symmetric gravitational field, and there were no magnetic fields, no atmosphere, no other forces, then the satellites would follow
perfect Keplerian orbits. Oops, left out - there could be no relativistic effects. Since the universe contains a huge number of other objects, each exerting gravitational force on each satellite (the Sun and Moon being next
in importance after the Earth for an Earth-orbiter), and the Earth has a decidedly non-spherically symmetric gravitational field, the positions are non-repeating (using an Earth-centered frame). There are other forces, like
radiation pressure (due to solar radiation), atmospheric drag (yes, there is atmosphere at the altitude of the GPS constellation, albeit very attenuated), and the geomagnetic field. And there are relativistic effects.
Because of all these various varied and varying forces, adjustments are made to the orbits of the satellites from time to time, using the on-board thrusters, to keep the satellites somewhat close to their nominal 12 siderial hour orbits, in the assigned orbital planes, and in the assigned slots within the plane.
Now, if you are willing to accept some range in your definition of "same positions," then the answer is to be found in the specification of the orbits. The nominal orbital period of all vehicles in the GPS constellation is 12 siderial hours. To the extent that they are all at the correct period (and orbit maintenance keeps them there), the locations of the satellites (configuration of the whole constellation) repeats every 12 siderial hours (notice this is "sidereal," not "solar"). It is the variation in the orbital parameters that is the reason that the navigation message your GPSR receives and uses gives the current set of orbital elements. The small amount of deviation from that builds up between the time the navigation message is updated and the time at which you are making your position observation is one of the contributors to the inherent error budget.