diffalgorithm