As Drive is the top level resource that represents a user's one drive, it has relationships to other items that are known as DriveItems. A drive item can be anything, a file, folder, or any other item stored in the drive.
So, to search for a specific file inside the drive you could make a request;
var driveItems = await graphClient.Me.Drive.Root
.Search(<'{search-query}'>)
.Request()
.GetAsync();
This should help you get the DriveItem based on your search query, once you've retrieved the DriveItem, you can make a request for deleting it based on the id of the item;
await graphClient.Me.Drive
.Items[<"{item-id}">]
.Request()
.DeleteAsync();
Update:
As per the request for the help with the code for finding the file and deleting it, I've given it below for your reference.
var files = await graphClient.Me.Drive.Root
.Search("abc.pdf")
.Request()
.GetAsync();
var duplicateFile = files
.Where(driveItem => driveItem.ParentReference.Name
.ToLower() == "duplicate")
.FirstOrDefault();
if(duplicateFile != null) {
await graphClient.Me.Drive
.Items[duplicateFile.Id]
.Request()
.DeleteAsync();
}