Optimized number of permutations of mappings in heurisch()
Reduced the number of permutations of mapping by not generating cases where mapping[-1] != x
While earlier the number of terms or components of a function being permuted were (say) n after these changes they have reduced to n-1, thus improving the time complexity

Optimized number of permutations of mappings in heurisch()

Inorer to reduce the number of permuations of mapping we can remove the unnecessary_tuples that is one of the form (x, x_)
and can append these to the end of all permuted mappings
renamed store_tuple to unnecessary_permutations
Optimized number of permutations of mappings in heurisch()

This PR makes the "unnecesary_permutaion" aesthetically more comprehensive by using list comprehension instead of filter function. It also removes the "enter -> \n" after the starting of the for loop
stylistic changes added to make the code more readable
Merge pull request #1906 from cheatiiit/master

Optimized number of permutations of mappings in heurisch()