Even when this is a duplicate I will try to clarify it for you:
Now what will be the difference between the abstract class and the interface when a class will implement them?
If you use an abstract class, the difference is that you would need to inherit from your abstract class and then override the abstract method.
If you use an interface, you would need to implement the method, without inherit from this class, giving you the flexibility to inherit from another class if needed
When and what will be the reason for a class to implemenet them when an abstract class has only one abstract method?
Do not think about the number of methods in order to choose between one or the other, think about the trade-offs you would get when using one against the other.
If you decide to use an abstract class, your derived classes will have to inherit form your abstract class in order to work, and since you only can inherit from one single class in C#, you will be tight to the abstract class.
If you implement an interface, you will be able to inherit from another class hierarchy, in other words, using interfaces will give you the most flexible design
Now abstract class are really useful when you want to write a base piece of code, that your child classes will inherit, in that case, you would be writing less code in your child classes efectivley reusing the code written in your abstract class. Also you will be able to override the abstract methods to supply your own implementation