Mind you, we have a population of 35 million people. But the size of the population doesn't matter: vote counting is an embarrassingly parallel problem.
The only explanation for election results taking a month is corruption, plain and simple. And voting machines will not solve that. Election fraud is a human problem and requires a human solution, not a technological one. If a nation cannot properly administer their own elections, then the people should insist that a third party (e.g. the UN) monitor them.
The exception in Sweden is pre-election day votes which quite easily could quite easily be tampered with if we were more corrupt.
The only reason I can see why counting the votes could take a month is to make it easier to rig the election. There is no technical reason for it.
EDIT: There have been both allegations and convictions of election fraud in Sweden, but never anything related to the counting of votes.
Trust me, your country is very different from the rest of the world and I mean that in a good sense (such as a parameter of good governance).
This a country with more than 180 million people and mandatory vote, elections here are massive. Every time someone touches a vote there is a chance for it to be defrauded or replaced. In the past, stories of lost and inflated ballots and replaced votes where trivial. Because a lot of the voters are poor another trick was to give to the voter an already marked vote and demand the original valid one back so the candidate could buy a vote in a election.
> Because a lot of the voters are poor another trick was to give to the voter an already marked vote and demand the original valid one back so the candidate could buy a vote in a election.
For example wouldn't it be trivial to make this impossible? Simply make sure people can get more than one paper and there would be no original vote that could be used as proof. They would have to have a guy standing there watching you which would work with voting machines too.