zeilbergers algorithm