A<-matrix(c(2,12,2,22,14,45,3,25,3,7,7,18,2,45,7,17,3,1,3,11,22,12,7,5,7), 5,5)
s<-c(2,3,7)
A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    2   45    7   17   22
## [2,]   12    3   18    3   12
## [3,]    2   25    2    1    7
## [4,]   22    3   45    3    5
## [5,]   14    7    7   11    7
v1=which(A==2,arr.ind = TRUE)
v2=which(A==3,arr.ind = TRUE)
v3=which(A==7,arr.ind = TRUE)

nn=nrow(v1)

print("Diagonal 1")
## [1] "Diagonal 1"
for(i in 1:nn){
want=c(v1[i,1]+1,v1[i,2]+1)
x1=apply(v2, 1, function(x, want) isTRUE(all.equal(x, want)), want)
want=c(v1[i,1]+2,v1[i,2]+2)
x2=apply(v3, 1, function(x, want) isTRUE(all.equal(x, want)), want)
if(sum(x1)+sum(x2)==2){
  print(v1[i,])
}

}
## row col 
##   3   1 
## row col 
##   3   3
print("Diagonal 2")
## [1] "Diagonal 2"
for(i in 1:nn){
want=c(v1[i,1]-1,v1[i,2]-1)
x1=apply(v2, 1, function(x, want) isTRUE(all.equal(x, want)), want)
want=c(v1[i,1]-2,v1[i,2]-2)
x2=apply(v3, 1, function(x, want) isTRUE(all.equal(x, want)), want)
if(sum(x1)+sum(x2)==2){
  print(v1[i,])
}
}

print("Diagonal 3")
## [1] "Diagonal 3"
for(i in 1:nn){
  
  want=c(v1[i,1]+1,v1[i,2]-1)
  x1=apply(v2, 1, function(x, want) isTRUE(all.equal(x, want)), want)
  want=c(v1[i,1]+2,v1[i,2]-2)
  x2=apply(v3, 1, function(x, want) isTRUE(all.equal(x, want)), want)
  if(sum(x1)+sum(x2)==2){
    print(v1[i,])
  }
}
print("Diagonal 4")
## [1] "Diagonal 4"
for(i in 1:nn){
 
  want=c(v1[i,1]-1,v1[i,2]+1)
  x1=apply(v2, 1, function(x, want) isTRUE(all.equal(x, want)), want)
  want=c(v1[i,1]-2,v1[i,2]+2)
  x2=apply(v3, 1, function(x, want) isTRUE(all.equal(x, want)), want)
  if(sum(x1)+sum(x2)==2){
    print(v1[i,])
  }
}
## row col 
##   3   1