Now, we take the difference. That is, we want to know how much each of the two main candidates has gained by each new announcement. This is shown in Figure 2. This breaks the logic. It is obvious that in later announcements, when the change is due to bigger districts and greater urban centres, the vote is hardly distributed with a 2 to 1 ratio. The only point that could be possibly suspicious is at time 10 in which Ahmadinejad has gained 2207223 votes while Mousavi has got 959950; hardly a game changer even if it is a fraud.
It would be nice to see the actual ratio of gains as time has progressed. Again, the further right on the graph you look, more populated areas play a more important role. This is shown in Figure 3 below. Once more, the only fishy thing is at time 10. Also, one might want to question whether in urban centres the vote was 50/50 but to say that "even in urban centres the vote was counted 2 to 1" is misrepresenting the announced results.
And finally, if you have access to Matlab, you can reproduce these figures using the following logic:
results = [39165191, 24527516, 13216411 ;
38937011, 23988614, 12669341;
34377793, 21781391, 11709391;
30506422, 19761433, 9841056;
28909689, 18787766, 9269998;
28050761, 18302924, 8929232;
25836299, 16974382, 8124690;
24122777, 15913256, 7526117;
21170263, 14011664, 6575844;
15251781, 10230478, 4628912;
5015200, 3463000, 1426000 ;
25158, 12900, 11346];
AM = flipud(results);
diff_AM = diff(AM)
ratio = diff_AM(:,2)./diff_AM(:,3) ;
bar(AM(:,2:3))
figure
bar(diff_AM(:,2:3))
figure
bar(ratio);