Abstract. The Global Positioning System (GPS) is a satellite based navigation system. GPS satellites transmit signals that allow one to determine the location of GPS receivers. In GPS, a typical technique for kinematic position estimation is differential positioning where two receivers are used: one receiver is stationary and its exact position is known, and the other is roving and its position is to be estimated. We describe the physical situation and derive the mathematical model based on the difference of the so-called carrier phase measurements at the stationary and roving receivers. We then present a recursive least squares approach for position estimation. We take full account of the structure of the problem to make our algorithm efficient, and use orthogonal transformations to ensure numerical reliability of the algorithm. Simulation results are presented to demonstrate the performance of the algorithm. A comparison with the van Graas and Lee positioning algorithm [Navigation, Journal of the Institute of Navigation, 42 (1995), pp. 605-618] is given. Our algorithm is seen to be both efficient and accurate, but an additional contribution of this approach is that some of the drawbacks of double differencing are avoided, and yet the vector of double differenced integer ambiguities is still available and can be used to fix the integer ambiguities and handle satellite rising and setting.