Here's the cycle of opponents, 2002-2009:
http://www.patriots.com/search/index.cfm?ac=searchdetail&pid=2862&pcid=43
As NEM said...
Say the Pats are AFCE. Div. Team #1:
Game 1) - vs. DT2
Game 2) - @ DT2
Game 3) - vs. DT3
Game 4) - @ DT3
Game 5) - vs. DT4
Game 6) - @ DT4
The AFC division the AFCE plays rotates every year. In 2002 it was the AFCW, in 2003 the AFCS, in 2004 the AFCN, and in 2005 the AFCW again, so.
To figure out home/away for those games, it's also on a rotating schedule. Since the Pats played the Jaguars at home in 2003, then they'll play them away in 2006:
Game 7) vs. AFCX1
Game 8) vs. AFCX2
Game 9) @ AFCX3
Game 10) @ AFCX4
There's also a rotating schedule for which NFC division the AFCE will play. Since the Pats played the NFCN in 2002, they'll play them again in 2006. The same home/away rule applies:
Game 11) vs. NFCX1
Game 12) vs. NFCX2
Game 13) @ NFCX3
Game 14) @ NFCX4
Finally, the last two games are decided by your team's division finish in the previous year. Since the Pats finished first in 2005, then they'll play the 1st place teams from the AFCW and AFCS, and they already play the 1st place team from the AFCS. This rotates on a more complicated home/away schedule as well. But:
Game 15) vs. AFCX1
Game 16) @ AFCX 1 (Different opponent)
...
If you connect the dots, here's how the 2006 Pats schedule shook out:
Game 1) vs. Buf
Game 2) @ Buf
Game 3) vs. Mia
Game 4) @ Mia
Game 5) vs. NYJ
Game 6) @ NYJ
Game 7) vs. Ind (played at Indy in 2003)
Game 8) vs. Hou (played at Houston in 2003)
Game 9) @ Jax (played at home in 2003)
Game 10) @ Ten (played at home in 2003)
Game 11) vs. Chicago (played at Chicago in 2002)
Game 12) vs. Detroit (played at Detroit in 2002)
Game 13) @ Minnesota (played at home in 2002)
Game 14) @ Green Bay (played at home in 2002)
Game 15) vs. Denver (played @AFCW1 in 2004 - KC)
Game 16) @ Cincinnati (played at home vs. AFCN1 in 2003 - CLE)
...
The actual order and times of the games is decided by the NFL.