A numerical method is presented to solve the diffusion equation for the random genetic drift that occurs at a single unlinked locus with two alleles. The method was designed to conserve probability, and the resulting numerical solution represents a probability distribution whose total probability is unity. We describe solutions of the diffusion equation whose total probability is unity as complete. Thus the numerical method introduced in this work produces complete solutions, and such solutions have the property that whenever fixation and loss can occur, they are automatically included within the solution. This feature demonstrates that the diffusion approximation can describe not only internal allele frequencies, but also the boundary frequencies zero and one. The numerical approach presented here constitutes a single inclusive framework from which to perform calculations for random genetic drift. It has a straightforward implementation, allowing it to be applied to a wide variety of problems, including those with timedependent parameters, such as changing population sizes. As tests and illustrations of the numerical method, it is used to determine: (i) the probability density and time-dependent probability of fixation for a neutral locus in a population of constant size; (ii) the probability of fixation in the presence of selection; and (iii) the probability of fixation in the presence of selection and demographic change, the latter in the form of a changing population size. R ANDOM genetic drift occurs when genes of a given type are transmitted to the next generation with random variation in their number. It occurs when the relevant number of genes is finite and not effectively infinite. The process of random genetic drift plays a fundamental role in molecular evolution and the behavior of genes in finite populations (Crow and Kimura 1970;Kimura 1983). Beyond this, some of the ideas and techniques used in random genetic drift have a wider use, for example, with applications to cancer (Zhu et al. 2011;Traulsen et al. 2013) and range expansion (Slatkin and Excoffier 2012).To set the stage for the present work, consider a single locus with genetic variation due to the segregation of more than one allele in the population. The population size is assumed finite, so random genetic drift generally occurs, and the number of copies of a particular allele at the locus changes randomly over time. The genetic composition of the population exhibits a particular sort of random walk and a distribution describing such walks can be analyzed under an approximation where it obeys a diffusion equation. This treatment of random genetic drift is naturally known as the diffusion approximation and was introduced into population genetics by Fisher (1922) and Wright (1945) and substantially extended and developed by Kimura (1955a); the diffusion approximation continues to be developed and applied in a variety of situations (Ewens 2004).The diffusion approximation is often applied to the Wright-Fisher model (Fisher 1930;Wright...