This paper presents an algorithm that follows the sample-free approach to synthesise a population for agent based modelling purposes. While most existing algorithms rely on a sample dataset, the fact that this algorithm does not rely on one makes it a novel contribution. It has potentially widespread application for situations in which such survey data is not available. In contrast to existing sample-free algorithms, the population synthesis presented in this paper applies the heuristics to part of the allocation of synthetic individuals into synthetic households. As a result the iterative process which does this and which is normally the most computationally demanding and time consuming process, is required only for a subset of synthetic individuals. This means that the population synthesiser in this work is computationally efficient enough for practical application to build a large synthetic population (many millions) for many thousands target areas at the smallest possible geographical level. This capability ensures that the geographical heterogeneity of the resulting synthetic population is preserved. The paper presents the application of the new method to synthesise the population for New South Wales in Australia in 2006. The resulting total synthetic population has approximately 6 million people living in over 2.3 million households residing in private dwellings across over 11,000 census collection districts (CCDs). Analyses show evidence that the synthetic population matches very well with the census data across seven demographic attributes that characterise the population at both household level and individual level. A Java-based open source implementation of the population synthesiser as well as sample input data is freely available at https://github.com/smart-facility/SPGen.