Difference and analytical engines