In this article we develop an algorithm which computes a divisor of an integer N , which is assumed to be neither prime nor the power of a prime. The algorithm uses discrete time heat diffusion on a finite graph. If N has m distinct prime factors, then the probability that our algorithm runs successfully is at least p(m) = 1 − (m + 1)/2 m . We compute the computational complexity of the algorithm in terms of classical, or digital, steps and in terms of diffusion steps, which is a concept that we define here. As we will discuss below, we assert that a diffusion step can and should be considered as being comparable to a quantum step for an algorithm which runs on a quantum computer. With this, we prove that our factorization algorithm uses at most O((log N ) 2 ) deterministic steps and at most O((log N ) 2 ) diffusion steps with an implied constant which is effective. By comparison, Shor's algorithm is known to use at most O((log N ) 2 log(log N ) log(log log N )) quantum steps on a quantum computer.As an example of our algorithm, we simulate the diffusion computer algorithm on a desktop computer and obtain factorizations of N = 33 and N = 1363.