1. A method of factoring an input number comprising the steps of: providing a volume of digital multistate phase change material, said phase change material having a plurality of states, said states including: a reset state, a set state obtainable from said reset state by applying energy in an amount corresponding to the set energy of said reset state, said set state having lower resistance than said reset state, and one or more intermediate states having substantially the same resistance as said reset state, said one or more intermediate states being obtainable from said reset state by applying energy in an amount less than said set energy of said reset state; providing a potential multiplicative factor of said input number; programming said phase change material according to said potential multiplicative factor, said programming including defining programming states, said programming states being selected from said plurality of states of said phase change material, said programming states including said reset state and said set state, the number of said programming states being one more than said potential multiplicative factor; transforming said phase change material to said reset state; A. incrementing said phase change material, said incrementing including providing energy sufficient to transform said phase change material to a different one of said programming states; B. iteratively repeating said incrementing step A until said phase change material is transformed to said set state; C. resetting said phase change material; iteratively repeating the above steps A, B, and C until the number of times said phase change material has been incremented is equal to said input number.