The logic of gps system is as you know that it calculates the distance to satellites by timing a signal's journey from satellite to receiver.
i think it is not so easy as you mentioned.
There are some pseudo-random codes for timing which accommodate not only receiver but also its satellites. it differs from each other with pattern of values from satellite to satellite.
and there are lots of procedure to decode the so complicated signal.
The signal is so complicated that it almost looks like random
electrical noise. Hence the name "Pseudo-Random". It's a Spread
Spectrum radio trasmission.

i want to advice you some doc for understanding gps complex structure:
1.Understanding GPS Technology, here.
2.Principles of GPS positioning, here. pls check out this which has some code measurements model for solving it...
3.Decoding the GPS Signal, here.
4.Transmitted GPS Signals, here.
Carriers
The GPS satellites transmit signals on two carrier frequencies. The L1
carrier is 1575.42 MHz and carries both the status message and a
pseudo-random code for timing. The L2 carrier is 1227.60 MHz and is
used for the more precise military pseudo-random code.
Pseudo-Random Codes
There are two types of pseudo-random code. The first pseudo-random
code is called the C/A (Coarse Acquisition) code. It modulates the L1
carrier. It repeats every 1023 bits and modulates at a 1MHz rate. Each
satellite has a unique pseudo-random code. The C/A code is the basis
for civilian GPS use. The second pseudo-random code is called the P
(Precise) code. It repeats on a seven day cycle and modulates both the
L1 and L2 carriers at a 10MHz rate. This code is intended for military
users and can be encrypted. When it's encrypted it's called "Y" code.
Navigation Message
There is a low frequency signal added to the L1 codes that gives
information about the satellite's orbits, their clock corrections and
other system status.
i hope it helps you...